Blog

Postado em em 15 de agosto de 2020

Copiar e Colar no VBA (Método Certo)

Você já precisou alguma vez copiar e colar no VBA? Existem algumas formas de se fazer isso e nessa publicação vamos comentar sobre elas!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Clique aqui para baixar a planilha utilizada nessa publicação!

O que é o Método Certo de Copiar e Colar no VBA?

É o método de atribuição de valores, em que atribuímos o valor que está inserido em uma célula do Excel a outra célula, ou seja, a segunda recebe o conteúdo da primeira.


Por que usar esse método?

Porque ele é mais rápido que o método tradicional de copiar e colar, porque só faz a transferência dos valores, e nada mais. O método tradicional de copiar e colar carrega valores, formatação, fórmulas, tudo (somado) que estiver naquelas células.

 

Como Copiar e Colar no VBA?

Primeiramente temos que entender como fazer o método tradicional, para conhecê-lo e compará-lo com o método mais eficiente.

Vamos inicialmente abrir o VBA, apertando Alt+F11 (ou Alt+Fn+F11), e começar um novo módulo em Inserir > Módulo para que possamos escrever nosso código.

Após abrir o ambiente do VBA, criaremos um novo módulo em branco, em que vamos escrever o nosso código (nossa sub copia_cola). Podemos chamá-la de qualquer nome.

No nosso exemplo do vídeo temos 4 quadros com informações (Info 1 até Info 4 em cada quadro) a serem copiadas para outros quadros, na mesma aba (primeira) e para outras (segunda e terceira).

Copiar e Colar VBA
Copiar e Colar VBA

A seguir temos o código criado para copiar as informações da primeira aba para ela mesma, com o método tradicional. Observe:

Range("B1:B4").Copy
Range("B6").PasteSpecial

Explicação do código acima:

Simplesmente significa copiar o conteúdo inteiro (valor, formatação, fórmulas) do intervalo de células de B1 até B4, e colar essas informações em B6. Lembre-se que colar em B6 levará a colagem até B9, porque copiamos 4 células inteiras.

A seguir temos o código criado para copiar as informações da primeira aba para a segunda, com o método tradicional. Observe:

Sheets("Primeira Aba").Range("B1:B4").Copy
Sheets("Segunda Aba").Range("B1").PasteSpecial

Explicação do código acima:

Simplesmente significa copiar o conteúdo inteiro (valor, formatação, fórmulas) do intervalo de células de B1 até B4 da primeira aba, especificamente, e colar essas informações na célula B1 da segunda aba, especificamente. Lembre-se que colar em B1 levará a colagem até B4, porque copiamos 4 células inteiras.

Outro exemplo de colagem para outra aba é a colagem das informações para a terceira aba. Caso queira fazer essa operação, você apenas deve especificar a Terceira Aba no lugar da segunda, no código acima, porque colaríamos as informações na célula B1 da terceira aba também.

E o método certo de Copiar e Colar no VBA?

Vamos para o código que irá copiar as informações, mas somente os valores, para as células de interesse. Lembrando que esse procedimento é mais rápido que a cópia e colagem tradicionais no VBA.

A seguir temos o código criado para levar as informações da primeira aba para a terceira aba (apenas comentado acima).

Copiar VBA Excel
Copiar VBA Excel
Sheets("Terceira Aba").Range("B1:B4").Value = Sheets("Primeira Aba").Range("B1:B4").Value

 

Explicação do código acima:

Estamos fazendo uma atribuição de valores, onde o intervalo de células B1 até B4 da terceira aba do nosso arquivo receberá os valores das células de B1 até B4 da primeira aba.

Se atente para isso: tratando de um código pequeno e simples, não fará muita diferença, mas em termos de códigos grandes e complexos, fará diferença no tempo de execução do código se você optar por usar o método de atribuição no lugar do tradicional.

Ele é muito mais eficiente do que o método de colagem normal, porque, lembrando, leva apenas as informações de valores para as células de interesse.

Fique ligado na nossa série de compilação de planilhas no VBA, onde aprenderemos a juntar planilhas em uma só, e aproveite para aprender diversos conteúdos que vão ajudar a elaborar o código final ao fim da série!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!

Se você quiser aprender mais sobre VBA em um Minicurso, clique aqui!

Quer sair do zero em Python e virar uma referência na sua empresa? Matricule-se agora mesmo no Python Impressionador!