Este artigo demonstrará como usar o VBA para copiar um intervalo de células para outra planilha ou pasta de trabalho.
Para obter mais informações, leia nosso Tutorial de copiar e colar VBA.
Copiar para folha existente
Para copiar um intervalo de células de uma página para outra já existente, podemos usar o seguinte código:
123456 | Sub CopyAndPasteActiveSheet.Range ("A1: D10"). SelecioneSelection.CopyFolhas ("Folha2"). SelecioneActiveSheet.PasteEnd Sub |
Isso copiará as informações armazenadas no intervalo da planilha ativa A1: D10 e as colará em uma Planilha2 existente. Como não especificamos o intervalo a ser selecionado na Planilha 2, ele será colado automaticamente em Range (“A1”). Ele também colará qualquer formatação na Planilha 2 que estava no intervalo da Planilha 1.
Se desejarmos colá-lo em um local diferente na Planilha 2, podemos selecionar a célula inicial ou intervalo para colar. O código abaixo irá colar as informações começando na célula E2.
1234567 | Sub CopyAndPasteToRangeActiveSheet.Range ("A1: D10"). SelecioneSelection.CopyFolhas ("Folha2"). SelecioneIntervalo ("E1"). SelecioneActiveSheet.PasteEnd Sub |
Para apenas colar os valores na Planilha 2 e não incluir a formatação, podemos usar o código a seguir. Mais uma vez, não precisamos especificar o intervalo até a página se quisermos colar na célula A1.
123456 | Sub CopyAndPasteValuesActiveSheet.Range ("A1: D10"). SelecioneSelection.CopyFolhas ("Folha2"). SelecioneSelection.PasteSpecial Paste: = xlPasteValuesEnd Sub |
Copiar para uma nova folha
Para copiar e colar em uma nova planilha, podemos usar o seguinte código:
123456 | Sub CopyAndPasteNewSheetActiveSheet.Range ("A1: D10"). SelecioneSelection.CopySheets.Add After: = ActiveSheetActiveSheet.PasteEnd Sub |
Para apenas copiar os valores, podemos mais uma vez usar xlPasteValues.
Copiar para a pasta de trabalho existente
Para copiar e colar em uma pasta de trabalho totalmente diferente, podemos ter ambas as pastas de trabalho já abertas ou podemos usar o código para abrir outra pasta de trabalho e colar nessa pasta de trabalho.
Este código abaixo é copiado para uma pasta de trabalho existente que já está aberta.
1234567 | Sub CopyAndPasteExistingBookIntervalo ("A1: D10"). SelecioneSelection.CopyWindows ("CombinedBranches.xlsx"). AtiveSheets.Add After: = ActiveSheetActiveSheet.PasteEnd Sub |
Programação VBA | O Code Generator funciona para você!
Este código abaixo irá copiar e colar em uma nova planilha em uma 2ª pasta de trabalho que será aberta pelo código.
1234567 | Sub CopyAndPasteOpenWorkbookIntervalo ("A1: D9"). SelecioneSelection.CopyWorkbooks.Open Filename: = "C: \ ExcelFiles \ CombinedBranches.xlsx"Sheets.Add After: = ActiveSheetActiveSheet.PasteFolha Final |
DICA: substitua o nome do arquivo no argumento Workbooks.Open pelo seu próprio nome de arquivo!
Copiar para uma nova pasta de trabalho
Também podemos copiar e colar em uma nova pasta de trabalho.
123456 | Sub CopyAndPasteNewWorkbookIntervalo ("A1: D9"). SelecioneSelection.CopyWorkbooks.AddActiveSheet.PasteEnd Sub |