Ir ao conteúdo
  • Cadastre-se

telmobarros

Membros Juniores
  • Total de itens

    3
  • Registro em

  • Última visita

  • Qualificações

    N/D
  1. Jimmy, boa noite Eu sou cabeça dura, quando pego uma coisa pra fazer, so largo o osso depois de resolvido. Depois que lhe enviei a msg ontem, fiquei aqui quebrando cabeça, e consegui, como se diz, achar o fio da meada. Mas tive que sair e cheguei tarde e meio chapado. Copiei a planilha para um pendrive e levei para o serviço hoje. Quando o tempo dava, ficava ajeitando a planilha. Consegui resolver o meu problema e quando cheguei do serviço, so faltava alguns ajustes. A planilha esta funcionado perfeitamente, do jeito que eu queria, copiando celulas especificas e colando em celulas especificas, independente de qualquer ordem, e sem ordem. Mas não vou postar o que eu fiz. Se algum programador ou alguem com conhecimento de programacao ver, vai achar uma aberracao, um verdadeiro atentado aos principios de programacao. rsrsrs Agradeço muito, muitissimo, a sua boa vontade e disponibilidade em querer me ajudar. Foi a primeira vez que me envolvi com VBA, e achei bem interessante o leque de coisas que se pode fazer. Por isso tenho certeza que nos "encontraremos" aqui de novo. Mais uma vez, obrigado abraços Telmo
  2. Jimmy, obrigado por ter respondido A macro executa, mas não faz nada
  3. Prá inicio de conversa, sou totalmente leigo em VBA,O meu problema é o seguinte: Tenho uma planilha de custos, onde tenho uma aba, Calculo do Produto, e outra Histórico de Vendas. Hoje preencho manualmente, copiando celulas da aba Calculo do Produto, e colando na aba Historico de vendas. São muitas celulas e isso se torna chato e cansativo. O que eu preciso é copias celulas especificas em Calculo do Produto, e colar em celulas especificas de Histórico de Vendas. Achei essa macro aqui no forum enviada por jeffsilveira e o que consegui entender está escrito ao lado Sub copiar() Executar a macro de nome copiar Range("A1:A10").Select Seleciona o intervalo de celuas de A1 até A10 na planilha de origem Selection.Copy seleciona a funcao copiar Sheets("Plan2").Select Seleciona a aba de destino Range("A1").Select Seleciona a celula A1 na aba de destino Do | Essa parte se refere à procura da primeira linha vazia. If ActiveCell <> "" Then | Aqui tenho uma dúvida! Como a primeira celula de destino é A1, não sei se a procura é ActiveCell.Offset(1, 0).Select | pela primeira celula A vazia, ou se toda a linha vazia. End If | Exemplo: Se tiver um dado na celula A10 , vai colar a partir da celula A11. Mas se A10 estiver vazia e Loop Until ActiveCell = "" | e houver dados na celula B10 ou C10, não se se cola na A11 ou cola na A10 ActiveCell.PasteSpecial Paste:=xlPasteAll, Essas duas linhas abaixo só sei que é a colagem, mas onde, quando, porque, não faço a Operation:=xlNone, SkipBlanks:= _ False, Transpose:=False Application.CutCopyMode = False minima ideia End Sub Termina a execução da macro Apos várias tentativas e erros, (demorou varios dias) consegui adaptar da seguinte maneira. Sub copiar() Sheets("CALCULAR PRODUTO").Select Range("B6, B11, B7").Select Selection.Copy Sheets("HISTÓRICO VENDAS").Select Range("A1").Select Do If ActiveCell <> "" Then ActiveCell.Offset(1, 0).Select End If Loop Until ActiveCell = "" ActiveCell.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ False, Transpose:=TRUE Application.CutCopyMode = False End Sub Alterei o nome das abas, as celulas a serem copiadas e alterei o TRANSPOSE=TRUE Esta macro procura a primeira linha em branco e cola as células selecionadas na primeira celula vazia. Até então está OK. Agora vamos aos problemas: 1 - A ordem das celulas a serem copiadas é B6, B11, B7, mas me retorna B6, B7, B11. A ordem a ser colada deve ser mantida. 2 - A selecao das celulas a serem copiadas não estão necessariamente, na mesma linha ou coluna, por exemplo, B11, H10, I6 Então se colocar TRANSPOSE, acho que vai dar errado. 3 - A colagem se dá a partir da celula A1 e cola nas colunas seguintes B1, C1, ou seja, colunas contiguas. Essa ordem precisa ser modificada, por exemplo, para A1, H1, C1 Então resumindo, o que eu preciso é pegar celulas especificas na origem, e colar em celulas especificas no destino. Aqui no forum e em outros que pesquisei, só achei exemplos como esse que peguei, referenciando a intervalos de celulas. Se não for pedir muito, gostaria que explicassem a função de cada linha da macro, especialmente onde está apontando as celulas de origem e destino, pois tenho uma outra planilha e gostaria de fazer a mesma coisa e não queria ter que abrir um outro tópico com o mesmo assunto. Muito grato

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×