Cortar, copiar e colar de uma macro - exemplos de código VBA

Neste tutorial, você aprenderá vários métodos diferentes para copiar e colar e recortar e colar usando uma macro VBA. Leia o tutorial complementar sobre Value Coling e PasteSpecial para opções mais avançadas de cópia e colagem.

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

Copiar (cortar) e colar uma única célula

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

123456789 Sub Paste_OneCell ()'Copiar e Colar Única CélulaIntervalo ("A1"). Copiar intervalo ("B1")'Cortar e colar célula únicaFaixa ("A1"). Faixa de corte ("B1")End Sub

Copiar seleção

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

123456789101112 Sub CopySelection ()'Colar em um intervalo definidoIntervalo Selection.copy ("b1")'Offset Paste (desloca 2 células para baixo e 1 para a direitaSelection.copySelection.offset (2,1) .pasteApplication.CutCopyMode = FalseEnd Sub

Copiar (cortar) e colar um intervalo de células

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

123456789 Sub Paste_Range ()'Copiar e colar um intervalo de célulasIntervalo ("A1: A3"). Intervalo de cópia ("B1: B3")'Cortar e colar uma série de célulasFaixa ("A1: A3"). Faixa de corte ("B1: B3")End Sub

Copiar (cortar) e colar uma coluna inteira

A seguir, demonstraremos alguns exemplos rápidos. Leia nosso artigo sobre como copiar e colar linhas e colunas para obter exemplos detalhados, explicações e variações.

Este exemplo copia ou corta e cola uma coluna inteira, A em B:

12345678910 Sub PasteOneColumn ()'Copiar e colar a colunaFaixa ("A: A"). Faixa de cópia ("B: B")'Recortar e colar colunaFaixa ("A: A"). Faixa de corte ("B: B")End Sub

Copiar (cortar) e colar uma linha inteira

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

12345678910 Sub Paste_OneRow ()'Copiar e colar linhaIntervalo ("1: 1"). Intervalo de cópia ("2: 2")'Cortar e colar linhaFaixa ("1: 1"). Faixa de corte ("2: 2")End Sub

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

1234567891011121314 Sub Paste_Other_Sheet_or_Book ()'Recortar ou copiar e colar em outra planilhaPlanilhas ("planilha1"). Intervalo ("A1"). Copiar planilhas ("planilha2"). Intervalo ("B1") 'CopiarFolhas de trabalho ("folha1"). Intervalo ("A1"). Folhas de trabalho cortadas ("folha2"). Intervalo ("B1") 'Corte'Recortar ou copiar e colar em outra pasta de trabalhoPastas de trabalho ("book1.xlsm"). Planilhas ("planilha1"). Intervalo ("A1"). Copiar _Pastas de trabalho ("book2.xlsm"). Planilhas ("planilha1"). Faixa ("B1") 'CopiarWorkbooks ("book1.xlsm"). Worksheets ("sheet1"). Range ("A1"). Cut _Pastas de trabalho ("book2.xlsm"). Planilhas ("planilha1"). Faixa ("B1") 'CorteApplication.CutCopyMode = FalseEnd Sub

Pasta de valor

Normalmente, quando você copia e cola, você cola todas as propriedades de uma célula: formatação, fórmulas, etc … A colagem de valores permite que você copie e cole os valores das células e nada mais. A maneira mais fácil de Value Paste em VBA é definir o valor da célula diretamente:

123456789101112131415 Sub ValuePaste ()'Value Paste CellsIntervalo ("B1"). Valor = Intervalo ("A1"). ValorIntervalo ("B1: B3"). Valor = Intervalo ("A1: A3"). Valor'Definir valores entre planilhasWorksheets ("sheet2"). Range ("A1"). Value = Worksheets ("sheet1"). Range ("A1"). Value'Definir valores entre pastas de trabalhoPastas de trabalho ("book2.xlsm"). Planilhas ("planilha1"). Intervalo ("A1"). Valor = _Pastas de trabalho ("book1.xlsm"). Planilhas ("planilha1"). Intervalo ("A1"). ValorApplication.CutCopyMode = FalseEnd Sub

Colar especial

Colar especial permite que você copie e cole propriedades específicas de células (exemplos: formatos, valores, larguras de coluna, etc.). Também permite realizar operações especiais de colagem (exemplos: pular espaços em branco, transpor). Veremos vários exemplos abaixo, mas para uma leitura mais aprofundada, leia nosso tutorial sobre Value Coling e Paste Special.

12345678910111213141516171819 Sub PasteSpecial ()'Realize uma operação de colagem especial:Intervalo ("A1"). Copiar'Paste FormatsIntervalo ("B1"). PasteSpecial Paste: = xlPasteFormats'Colar Larguras de ColunaIntervalo ("B1"). PasteSpecial Paste: = xlPasteColumnWidths'Colar FórmulasIntervalo ("B1"). PasteSpecial Paste: = xlPasteFormulas'Realize várias operações especiais de colagem de uma só vez:Intervalo ("A1"). Copiar'Colar formatos e transporIntervalo ("B1"). PasteSpecial Paste: = xlPasteFormats, Operação: = xlNone, SkipBlanks: = _Falso, Transpor: = VerdadeiroApplication.CutCopyMode = FalseEnd Sub

Limpar área de transferência

Depois de 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:

1 Application.CutCopyMode = False

Isso limpará a área de transferência do Excel. No entanto, isso não limpará a área de transferência do Windows. Para limpar a área de transferência da janela, siga as instruções aqui.

wave wave wave wave wave