VBA Paste Special

Semelhante à planilha, quando copiamos um dado e o colamos em um intervalo de células diferente, temos um método especial de colar que nos permite colar os dados como eles próprios ou apenas as fórmulas ou apenas os valores e da mesma forma que podemos usar Colar Especial no VBA usando o método de propriedade de intervalo da seguinte maneira intervalo. paste special () fornecendo o tipo que queremos nos colchetes.

Colar especial em VBA

O Colar Especial no Excel atende de várias maneiras em nosso trabalho diário. Usando colar especial, podemos fazer muito mais coisas do que o normal. Copiar e colar existe em todo o mundo da informática. Mas colar especial é a coisa avançada no Excel.

Como regular o Excel, colar especial no VBA, também temos um método especial de colar para colar os dados copiados. Copiar as coisas no Excel não é uma coisa estranha para os usuários do Excel, eles copiam, colam e na maioria das vezes usam o Colar especial para servir ao seu propósito de várias maneiras.

No Excel regular, colar inclui muitas opções como colar apenas valores, colar fórmulas, colar formatos e etc ...

Colar especial tem que colar, operação, pular espaços em branco e transpor assim no VBA também temos todos os parâmetros com o método Colar especial .

A Fórmula da Pasta Especial no VBA

Abaixo está a Fórmula para Colar Especial em VBA

Colar especial está disponível com o objeto VBA Range porque depois de copiar os dados iremos colá-los no intervalo de células, portanto, o método especial colar está disponível com o objeto intervalo .

Tipo de Colar: Após copiar os dados como você deseja colar. Se você deseja colar valores, fórmulas, formatos, validação, etc. Abaixo está a lista completa de opções disponíveis em Tipo de Colar.

Colar Operação especial: Ao colar, você deseja realizar qualquer tipo de operação, como adicionar, subtrair, divisão, multiplicação ou nenhum.

  • [Ignorar espaços em branco]: Se você deseja ignorar os espaços em branco, pode escolher VERDADEIRO ou FALSO.
  • [Transpor]: Se você deseja transpor os dados, pode escolher VERDADEIRO ou FALSO.

Exemplos de Colar Especial no Excel VBA

A seguir estão os exemplos de colar especial em VBA.

Você pode baixar este modelo especial de colagem VBA aqui - Modelo especial de colagem VBA

Exemplo # 1 - Colar apenas valores usando a função VBA PasteSpecial

No primeiro exemplo, iremos colar apenas valores usando colar especial. Suponha que a seguir estão os dados que você tem no nome da planilha chamada Dados de vendas.

Agora vamos realizar a tarefa de copiar e colar usando vários métodos especiais de colagem. Siga as etapas abaixo.

Etapa 1: primeiro crie um nome de macro.

Etapa 2: primeiro copie o intervalo A1 a D14 do nome da planilha “Dados de vendas”. Para copiar o intervalo, aplique o código abaixo.

Código: 

Intervalo ("A1: D14"). Copiar

Passo 3: Após copiar os dados estaremos colando os valores de G1 a J14. Primeiro faça referência ao intervalo.

Código:

Intervalo ("G1: J14")

Etapa 4: depois de selecionar o intervalo que precisamos colar. Então coloque um ponto (.) E selecione o método Colar especial.

Código:

 Sub PasteSpecial_Example1 () Range ("A1: D14"). Copiar Range ("G1: J14"). PasteSpecial End Sub 

Passo 5: Na lista suspensa, selecione a opção “xlPasteValues”.

Código:

 Sub PasteSpecial_Example1 () Intervalo ("A1: D14"). Copiar Intervalo ("G1: J14"). PasteSpecial xlPasteValues ​​End Sub 

Passo 6: Agora execute este código usando a tecla F5 ou manualmente e veja o que acontece.

Portanto, nosso código copiou os dados de A1 a D14 e colou de G1 a J14 como valores.

Tem executada a tarefa de atalho Excel em folha de cálculo ALT + E + S + V .

Exemplo # 2 - Colar tudo usando VBA PasteSpecial

Agora veremos o que acontece se executarmos a tarefa de xlPasteAll.

Código:

 Sub PasteSpecial_Example2 () Intervalo ("A1: D14"). Copiar Intervalo ("G1: J14"). PasteSpecial xlPasteAll End Sub 

Agora se você executar este código manualmente através da opção run ou pressionando a tecla F5, teremos como estão os dados.

Exemplo # 3 - Colar formatos usando a função VBA PasteSpecial

Agora veremos como colar apenas formatos. O código abaixo faria o trabalho por nós.

Código:

 Sub PasteSpecial_Example3 () Range ("A1: D14"). Copiar Range ("G1: J14"). PasteSpecial xlPasteFormats End Sub 

Se você executar este código usando a tecla F5 ou manualmente, obteremos o único formato do intervalo copiado, nada mais.

Exemplo # 4 - Colar largura da coluna usando VBA Colar especial

Agora veremos como colar apenas a largura da coluna do intervalo copiado. Para isso, aumentei a largura da coluna de uma das minhas colunas de dados.

Aplicar o código abaixo, ele colará apenas a largura da coluna do intervalo copiado.

Código:

 Sub PasteSpecial_Example3() Range("A1:D14").Copy Range("G1:J14").PasteSpecial xlPasteColumnWidths End Sub 

Run this code and see the difference in the column width.

Now we can see Sales column width has been increased to the column width of our copied range column.

Example #5 – Copy the Data from One Sheet to Another Sheet using VBA Paste Special Option

We have seen how to copy and paste the data on the same sheet. Now we will how to paste from one sheet to another sheet.

Step 1: Before we select the range we need to tell from which sheet we need to select the data.

Code:

 Sub PasteSpecial_Example5() Worksheets ("Sales Data") End Sub 

Step 2: After selecting the sheet by its name then we need to select the range in that sheet. The copy it.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy End Sub 

The above code says in the sheet name “Sales Data” copy the Range (“A1:D14”)

Step 3: Since we are pasting it in the different sheet we need to select the sheet by its name.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets ("Month Sheet") End Sub 

Step 4: Now in the sheet “Month Sheet” select the range.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range ("A1:D14") End Sub 

Step 5: Using Paste special we will be pasting values and format.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats End Sub 

Step 6: We are not only pasting values and format using VBA Paste Special but we are pasting it as TRANSPOSE as well.

Code:

 Sub PasteSpecial_Example5() Worksheets("Sales Data").Range("A1:D14").Copy Worksheets("Month Sheet").Range("A1:D14").PasteSpecial xlPasteValuesAndNumberFormats, Transpose:=True End Sub 

Now run this code it will copy and transpose the data to “Month Sheet”.

Things to Remember About Excel VBA PasteSpecial Function

  • If you want to skip blanks you need to enter the argument as TRUE by default it takes FALSE.
  • If you want to transpose the data we need to select the transpose as TRUE.
  • We can perform only one paste special at a time.