VBA – Recortar, Copiar, Colar a Partir de uma Macro

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

Daniel Caramello

Last updated on April 28, 2023

Neste tutorial, você aprenderá vários métodos diferentes para copiar e colar e recortar e colar usando uma macro VBA. Leia o tutorial companheiro sobre Colar Valor e Colar Especial para opções mais avançadas de copiar e colar.

Para usar este código: Abra o Editor Visual Basic(Alt + F11), insira um novo módulo(Insert > Module) e copie e cole o código desejado no módulo.

Copiar (Recortar) e Colar uma Única Célula

Este exemplo copia ou recorta e cola uma única célula, A1 e cola em B1:

Sub Colar_UmaCelula()

    'Copia e Cola uma única célula
    Range("A1").Copy Range("B1")

    'Recorta e Cola uma única célula
    Range("A1").Cut Range("B1")

End Sub

Codificação VBA facilitada

Pare de procurar por código VBA online. Saiba mais sobre AutoMacro – Um construtor de códigos VBA que permite aos iniciantes codificar procedimentos a partir do zero com o mínimo de conhecimento de codificação e com muitos recursos que economizam tempo para todos os usuários!

alt text

Saiba mais!

Copiar Seleção

Se você quiser copiar a seleção ativa, use isto:

Sub CopiarSelecao()

'Colar em um intervalo definido
Selection.copy range("b1")

'Deslocar Colar (desloca 2 células para baixo e 1 para a direita)
Selection.copy
Selection.offset(2,1).Select
ActiveSheet.Paste

Application.CutCopyMode = False

End Sub

Copiar (Recortar) e Colar uma Intervalo de Células

Este exemplo copia ou recorta e cola um intervalo de células, A1:A3 para B1:B3 :

Sub Colar_Intervalo()

    'Copia e Cola um intervalo de células
    Range("A1:A3").Copy Range("B1:B3")

    'Recorta e cola um intervalo de células
    Range("A1:A3").Cut Range("B1:B3")

End Sub

Copiar (Recortar) e Colar uma Coluna Inteira

A seguir demonstraremos alguns exemplos rápidos. Leia nosso artigo sobre Copiar e Colar Linhas e Colunas para exemplos detalhados, explicações e variações.

Este exemplo copia ou recorta e cola uma coluna inteira, A para B:

Sub ColarUmaColuna()

    'Copia e Cola Coluna
    Range("A:A").Copy Range("B:B")


    'Recorta e Cola Coluna
    Range("A:A").Cut Range("B:B")

End Sub

Copiar (Recortar) e Colar uma Linha Inteira

Este exemplo copia ou recorta e cola uma linha inteira, de 1 a 2:

Sub Colar_UmaLinha()

    'Copia e Cola Linha
    Range("1:1").Copy Range("2:2")


    'Recorta e Cola Linha
    Range("1:1").Cut Range("2:2")

End Sub

Copiar (Recortar) e Colar em Outra Planilha ou Arquivo

Sub Colar_Outra_Planilha_Arquivo()

    'Recortar ou Copiar e Colar para Outra Planilha
    Worksheets("Planilha1").Range("A1").Copy Worksheets("Planilha2").Range("B1") 'Copiar
    Worksheets("Planilha1").Range("A1").Cut Worksheets("Planilha2").Range("B1") 'Recortar

    'Recortar ou Copiar e Colar para Outro Arquivo
    Workbooks("Pasta1.xlsm").Worksheets("Planilha1").Range("A1").Copy _ 
    Workbooks("Pasta2.xlsm").Worksheets("Planilha1").Range("B1") 'Copiar
    Workbooks("Pasta1.xlsm").Worksheets("Planilha1").Range("A1").Cut _ 
    Workbooks("Pasta2.xlsm").Worksheets("Planilha1").Range("B1") 'Recortar

    Application.CutCopyMode = False
End Sub

Colar Valor

Normalmente, quando você Copia e Cola você Cola todas as propriedades de uma célula: formatação, fórmulas, etc… Colar Valor permite copiar e colar os valores das células e nada mais. A maneira mais fácil de Colar Valor em VBA é definir diretamente o valor da célula:

Sub Colar_Valor()

    'Colar Valor das Células
    Range("B1").value = Range("A1").value
    Range("B1:B3").value = Range("A1:A3").value

    'Definir valores entre planilhas
    Worksheets("Planilha2").range("A1").value = Worksheets("Planilha1").range("A1").value

    'Definir valores entre arquivos
    Workbooks("Pasta2.xlsm").Worksheets("Planilha1").range("A1").value = _
    Workbooks("Pasta1.xlsm").Worksheets("Planilha1").range("A1").value

    Application.CutCopyMode = False
End Sub

Colar Especial

O  Colar Especial (Paste Special) permite copiar e colar propriedades específicas das células (exemplos: formatos, valores, largura das colunas, etc.). Também permite realizar operações de Colar Especial (exemplos: pular espaços em branco, transpor). Veremos alguns exemplos abaixo, mas para uma leitura mais aprofundada, leia nosso tutorial sobre Colar Valores e Colar Especial Valores.

Sub Colar_Especial()

    'Executar uma Operação Colar Especial:
    Range("A1").Copy
    'Colar Formatos
    Range("B1").PasteSpecial Paste:=xlPasteFormats
    'Colar Largura das Colunas
    Range("B1").PasteSpecial Paste:=xlPasteColumnWidths
    'Colar Fórmulas
    Range("B1").PasteSpecial Paste:=xlPasteFormulas

    'Executar Várias Operações de Colar Especial de uma Vez:
    Range("A1").Copy
    'Colar Formatos e Transpor
    Range("B1").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=True

    Application.CutCopyMode = False
End Sub

Limpar Área de Transferência

Depois de Copiar e Colar você pode querer limpar a área de transferência (nós fazemos em alguns dos exemplos de código acima). Para limpar a área de transferência do Excel, definimos o Application.CutCopyMode como False:

Application.CutCopyMode = False

vba clear clipboard

Isto irá limpar a área de transferência do Excel. Entretanto, não limpará a área de transferência do Windows. Para limpar a área de transferência do Window, siga as instruções aqui.

vba-free-addin

Exemplos de Add-ins de Códigos VBA

Acesse facilmente todos os exemplos de código que se encontram em nosso site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

(Nenhuma instalação necessária!)

Baixe de Graça

Retornar aos Exemplos de Códigos VBA