Como Copiar e Colar no VBA – Passo a Passo

Quer aprender a copiar e colar no VBA? Então você está no lugar certo!

Se você está aprendendo VBA no Excel, então já deve ter notado que existem uma infinidade de tarefas que podem ser automatizadas com a criação de uma Macro. E dentre essas tarefas, está a possibilidade de automatizar os comandos de copiar e colar dados entre planilhas conforme a sua necessidade.

Neste tutorial, você irá aprender diferentes maneiras de se criar uma macro no Excel VBA para copiar e colar e recortar e colar dados em planilhas. Se interessou pelo assunto? Então confira os detalhes a seguir:

Copiar (Recortar) e Colar em uma única célula

Se você precisa copiar o valor de uma célula e colar em outra célula na mesma planilha, então basta usar o código abaixo.

Sub Copiar_Colar()
'Copia e Cola em uma única célula
Range("A1").Copy Range("A2")
End Sub

O código acima copia o valor da célula A1 e cola na célula A2 da mesma planilha.

Por outro lado, se você precisa recortar o valor de uma célula e colar em outra célula, então basta usar o seguinte código:

Sub Recortar_Colar()
'Recorta e Cola em uma única célula
Range("A1").Cut Range("A2")
End Sub

O código acima recorta o valor da célula A1 e cola na célula A2 da mesma planilha.



Copiar (Recortar) e Colar uma Seleção

Se você precisa copiar um intervalo de células colar em outro intervalo na mesma planilha, então basta usar o código abaixo.

Sub Copiar_Intervalo()
Range("A1:A5").Copy Range("B1:B5")
End Sub

O código acima copia o intervalo de A1:A5 e cola em B1:B5 na mesma planilha.

Por outro lado, se você precisa recortar um intervalo de células e colar em outro intervalo, então basta usar o seguinte código:

Sub Recortar_Intervalo()
Range("A1:A5").Cut Range("B1:B5")
End Sub

O código acima recorda os valores do intervalo A1:A5 e cola no intervalo B1:B5.

Copiar (Recortar) e Colar Coluna Inteira

Se você precisa copiar uma coluna inteira e colar em outra coluna na mesma planilha, então basta usar o código abaixo.

Sub Copiar_Coluna()
Range("A:A").Copy Range("B:B")
End Sub

O código acima copia os dados da coluna A e cola na coluna B.

Por outro lado, se você precisa recortar uma coluna inteira colar em outra coluna, então basta usar o seguinte código:

Sub Recortar_Coluna()
Range("A:A").Cut Range("B:B")
End Sub

O código acima recorta os dados da coluna A e cola na coluna B.


Copiar (Recortar) e Colar Linha Inteira

Se você precisa copiar uma linha inteira e colar em outra linha na mesma planilha, então basta usar o código abaixo.

Sub Copiar_Linha()
Range("1:1").Copy Range("2:2")
End Sub

O código acima copia os dados da linha 1 e cola na linha 2.

Por outro lado, se você precisa recortar uma linha inteira colar em outra linha, então basta usar o seguinte código:

Sub Recortar_Linha()
Range("1:1").Cut Range("2:2")
End Sub

O código acima recorta os dados da linha 1 e cola na linha 2.

Copiar (recortar) e colar em outra planilha ou pasta de trabalho

Até aqui vimos como copiar e colar ou recortar e colar dados em uma mesma planilha usando o VBA. Agora vamos conferir como copiar e colar ou recortar e colar dados em outra planilha em em outra pasta de trabalho.

Copiar (recortar) para outra planilha

Se você precisa copiar os dados de uma planilha e colar em outra planilha, então use o código conforme mostrado abaixo.

Sub Copiar_para_Outra_Planilha()
Worksheets("Planilha1").Range("A1").Copy Worksheets("Planilha2").Range("A1")
End Sub

O código acima, copia os dados da célula A1 da Planilha1 e cola na célula A1 da Planilha2. Se você precisa copiar um intervalo de célula, basta adaptar o exemplo conforme mostrado no exemplo: Copiar (Recortar) e Colar uma Seleção.

Por outro lado, se você precisa recortar os dados de uma planilha e colar em outra planilha, então use o código conforme mostrado abaixo.

Sub Recortar_para_Outra_Planilha()
Worksheets("Planilha1").Range("A1").Cut Worksheets("Planilha2").Range("A1")
End Sub

O código acima, recorta os dados da célula A1 da Planilha1 e cola na célula A1 da Planilha2.


Copiar (recortar) para outra Pasta de Trabalho

Para copiar os dados de uma célula e colar em outra planilha de outra pasta de trabalho, então basta usar o código conforme exemplo abaixo:

Sub Copiar_Outra_PastadeTrabalho()
Workbooks("Vendas1.xlsm").Worksheets("Planilha1").Range("A1").Copy _
Workbooks("Vendas2.xlsm").Worksheets("Planilha1").Range("A1")
End Sub

O código acima copia os dados da célula A1 da Planilha1 na Pasta de Trabalho Vendas1.xlsm e cola na célula A1 da Planilha1 na Pasta de Trabalho Vendas2.xlsm

Para recortar os dados de uma planilha e colar em outra Pasta de Trabalho, use o exemplo conforme mostrado abaixo:

Sub Copiar_Outra_PastadeTrabalho()
Workbooks("Vendas1.xlsm").Worksheets("Planilha1").Range("A1").Cut _
Workbooks("Vendas2.xlsm").Worksheets("Planilha1").Range("A1")
End Sub

O código acima recorta os dados da célula A1 da Planilha1 na Pasta de Trabalho Vendas1.xlsm e cola na célula A1 da Planilha1 na Pasta de Trabalho Vendas2.xlsm.

Como “Colar Valor” no VBA

Você já deve ter notado que normalmente, ao copiar e colar no Excel você cola todas as propriedades de uma célula: ou seja, formatação, fórmulas, etc. No entanto, ao usar o recurso “Colar Valor” você consegue copiar e colar os valores das células e nada mais. A maneira mais fácil de colar valor no VBA é definir o valor da célula da seguinte maneira:

Sub Colar_Valores()
Range("B1").Value = Range("A1").Value
End Sub

O código acima copia os dados inseridos na célula A1 e cola apenas os valores em B1, ou seja, sem as formatações ou fórmulas presentes em A1. Em outras palavras, estamos apenas declarando com o valor da célula B1 deve ser o mesmo valor da célula A1.

Você pode usar a mesma lógica para colar valores em um intervalo de células, em outra planilha ou outra pasta de trabalho. Veja os exemplos abaixo:

Cola Valores de A1:A5 em B1:B5

Range("B1:B3").value = Range("A1:A3").value

Cola valores de A1 da Plan1 em A2 da Plan2

Worksheets("Plan2").range("A1").value = Worksheets("Plan1").range("A1").value

Cola Valores de A1 da Plan1 da Pasta de Trabalho Vendas1.xlsm na célula A1 da Plan1 da Pasta de Trabalho Vendas2.xlsm

Workbooks("Vendas1.xlsm").Worksheets("Plan1").range("A1").value = _
Workbooks("Vendas2.xlsm").Worksheets("Plan1").range("A1").value




Como “Colar Especial” no VBA

Se você já está um pouco familiarizado com o Excel, então já deve ter notado que o recurso Colar especial permite copiar e colar propriedades específicas das células como, por exemplo, formatos, valores, larguras de coluna, etc. Além disso, ele também permite realizar operações especiais de colagem como, por exemplo, pular espaços em branco, transpor, etc. Confira alguns exemplos abaixo:

Copiar Formatação da Célula

O exemplo abaixo copia os dados da célula A1 e cola apenas a formatação na célula B1.

Sub Colar_Formato()
Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
End Sub

Copiar Largura de Coluna

O exemplo abaixo copia os dados da célula A1 e colar apenas a formatação de largura da coluna na célula B1.

Sub Colar_Largura_Coluna()
Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteColumnWidths
Application.CutCopyMode = False
End Sub

Colar Fórmulas

O exemplo abaixo copia os dados da célula A1 e cola na célula B1 junto com as fórmulas. A formatação da célula não é copiada neste caso.

Sub Colar_Fórmulas()
Range("A1").Copy
Range("B1").PasteSpecial Paste:=xlPasteFormulas
Application.CutCopyMode = False
End Sub

Como Limpar Área de Transferência

Após copiar e colar, você pode querer limpar a área de transferência (fazemos isso em alguns dos exemplos de código acima). Para limpar a área de transferência do Excel, definimos Application.CutCopyMode como False:

Application.CutCopyMode = False

Isso limpará a área de transferência do Excel

Onde inserir os códigos?

Se você chegou até aqui e não faz ideia de onde inserir os códigos citados nos exemplos acima, então basta acompanhar as etapas abaixo:

1. Acesse a guia Desenvolvedor (caso não tenha essa guia habilitada em seu Excel, confira aqui os passos para habilitá-la).





2. Clique no ícone Visual Basic. Isso irá abrir o editor VB.

usar o VBA

3. No painel Project Explorer no VB, clique com o botão direito do mouse em qualquer objeto para a pasta de trabalho na qual você deseja inserir o código. *Caso não consiga visualizar a aba Project Explorer, acesse a guia Exibir e clique em Project Explorer (atalho CTRL + R).

4. Escolha Inserir e clique em Módulo. Isso irá inserir um objeto de módulo em sua pasta de trabalho.

copiar e colar no vba

5. Copie e cole o código na janela do módulo e pronto! Basta executá-los.

Confira também as seguintes dicas de Excel:

E então, o que achou do guia para Copiar e Colar no VBA? Ficou com alguma dúvida? Deixe o seu comentário abaixo e continue acompanhando mais dicas de Excel em nosso site!