Como Recortar, Copiar e Colar no Excel VBA

Neste conteúdo você aprenderá vários métodos diferentes para copiar, colar e recortar usando uma macro no Excel VBA. Aqui você vai encontrar várias formas de executar estes processos. Tenho certeza que você em algum momento já precisou disso.

Para usar estes códigos, abra o Editor do Visual Basic (Alt + F11) e em seguida insira um novo módulo (Inserir > Módulo) e copie e cole o código desejado no módulo.

1 – Copiar, Recortar e Colar uma única célula

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

Sub Colar_UnicaCelula()

    '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

2 – Copiar Seleção

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

Sub CopiarSelecao()

    'Copia e cola uma seleção para um intervalo definido
     Selection.copy range("b1")

    'Copia e Cola para um Deslocamento de Céula
     Selection.copy
     Selection.offset(2,1).Select
     ActiveSheet.Paste

     Application.CutCopyMode = False

End Sub

3 – Copiar, Recortar e Colar um Intervalo de Células

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

Sub Cola_Intervalo()

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

    'Recorta e Cola um Intervalode Células
    Range("A1:A3").Cut Range("B1:B3")

End Sub

4 – Copiar, Recortar e Colar uma Coluna Inteira

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

Sub ColarUmaColuna()

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

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

End Sub

5 – Copiar, Recortar e Colar uma Linha Inteira

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

Sub ColarUmaLinha()

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


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

End Sub

6 – Copiar, Recortar e Colar em Outra Planilha ou Pasta de Trabalho

Sub  ColaEmOutroObjeto()

    'Recorta, Copia e Cola em outra Planilha
    Worksheets("sheet1").Range("A1").Copy Worksheets("sheet2").Range("B1") 'Copy
    Worksheets("sheet1").Range("A1").Cut Worksheets("sheet2").Range("B1") 'Cut

    'Recorta, Copia e Cola em outra Pasta de Trabalho
    Workbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Copy _ 
    Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'Copy
    Workbooks("book1.xlsm").Worksheets("sheet1").Range("A1").Cut _ 
    Workbooks("book2.xlsm").Worksheets("sheet1").Range("B1") 'Cut

    Application.CutCopyMode = False

End Sub

7 – Colar Valor

Normalmente, quando você vai copiar e colar no Excel VBA, você cola todas as propriedades de uma célula: formatação, fórmulas, etc. A colagem de valores permite 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 diretamente:

Sub ColarValor()

    'VColar valor em Células
    Range("B1").value = Range("A1").value
    Range("B1:B3").value = Range("A1:A3").value

    'Atribuir valores entre Planilhas
    Worksheets("sheet2").range("A1").value = Worksheets("sheet1").range("A1").value

    'Atribuir valores entre Pasta de Trabalho
    Workbooks("book2.xlsm").Worksheets("sheet1").range("A1").value = _
    Workbooks("book1.xlsm").Worksheets("sheet1").range("A1").value

    Application.CutCopyMode = False

End Sub

8 – Colar Especial

Colar especial permite copiar e colar propriedades específicas de células (exemplos: formatos, valores, larguras de coluna, etc.). Ele também permite que você execute operações especiais de colagem (exemplos: pular espaços em branco, transpor).

Sub ColarEspecial()

    Range("A1").Copy

    'Cola formatos
    Range("B1").PasteSpecial Paste:=xlPasteFormats

    'Cola Largura da Coluna
    Range("B1").PasteSpecial Paste:=xlPasteColumnWidths

    'Cola Fórmulas
    Range("B1").PasteSpecial Paste:=xlPasteFormulas

    Application.CutCopyMode = False

End Sub

9 – Área de Transferência

Depois de copiar e colar, você pode querer limpar a área de transferência (fazemos 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

Gostou do conteúdo?

Deixe um comentárrio aqui eembaixo

Até o próximo tutorial!!

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *