Blog

17 de setembro de 2021

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”:

 

Macro para Copiar e Colar Valores

 

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:

 

Macro para Copiar e Colar Valores

 

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!

Inscreva-se em nossa newsletter!