Macro para Copiar e Colar Valores em outra Planilha
Olá, Programador! Neste post vou te mostrar como criar uma Macro para copiar e colar valores em outra Planilha. Vamos nessa?
Copiar e Colar Valores – Dados Originais
Primeiramente, considere que tenhamos os seguintes dados em uma aba chamada “Lista de Compras”:
Agora, suponhamos que os dados que nos interessam desta planilha sejam aqueles relacionados ao alimento “AD. Chocolate Branco” e que queremos, através de uma Macro, copiar e colar os valores para uma outra planilha.
Para isso, vou mostrar três opções de código VBA que podemos criar.
Copiar e Colar Valores – Código VBA
Vamos considerar que colaremos os dados em uma aba chamada “Compra Selecionada” como esta:
A primeira opção de código, portanto, seleciona diretamente os dados fixados nas células na primeira aba e cola na matriz da segunda aba:
Sub Colar_Valores_1() Sheets("Lista de Compras").Select Range("B6:H6").Select Selection.Copy Sheets("Compra Selecionada").Select Range("B5:H5").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
Além disso, temos outra forma de escrever as matrizes que copiaremos e colaremos os dados, substituindo as letras por números:
Sub Colar_Valores_2() Sheets("Lista de Compras").Select Range(Cells(6, 2), Cells(6, 8)).Select Selection.Copy Sheets("Compra Selecionada").Select Range(Cells(5, 2), Cells(5, 8)).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub
Portanto, perceba que escrever “Range(Cells(6, 2), Cells(6, 8))” é a mesma coisa que escrever “Range(“B6:H6″)” para o VBA. Neste caso, o número 2 representa a coluna B e o número 8 representa a coluna H.
+ Salvar Planilha em PDF por VBA
+ Macro que lista todas as abas de um Excel
+ Atualizar tabela dinâmica com Excel VBA
Entretanto, e se os dados da aba “Lista de Compras” puderem mudar de linha ao longo do tempo?
Para isso, escreveremos um novo código, utilizando agora “For” e “If”:
Sub Colar_Valores_3() Sheets("Lista de Compras").Select For °LISTA = 1 To 1000 If Sheets("Lista de Compras").Cells(°LISTA, 3) = "AD. Chocolate Branco" Then Range(Cells(°LISTA, 2), Cells(°LISTA, 8)).Select Selection.Copy Sheets("Compra Selecionada").Select Range(Cells(5, 2), Cells(5, 8)).Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Exit For End If Next °LISTA End Sub
Assim, note que quando escrevemos o “For” e o “If” no código acima, estamos dizendo para o VBA percorrer desde a linha número 1 até a linha número 1000 e copiar os valores somente quando encontrar o nome “AD. Chocolate Branco”.
Conclusão
Portanto, estas são só algumas maneiras de copiar e colar valores de uma planilha para outra. Existem vários outros códigos que poderíamos utilizar para realizar o mesmo procedimento.
Em vários trabalhos que fizemos para a Stop Bank, por exemplo, utilizamos códigos parecidos com estes, mas com uma dose a mais de complexidade.
Por fim, precisando de ajuda com Excel? Entre em contato com a CTRL2 e converse com nossos especialistas!
Abraços!