Método Worksheet.Copy (Excel)

Copia a planilha para outro local na pasta de trabalho atual ou em uma nova pasta de trabalho.

Sintaxe

expressão. Copiar (antes, depois)

Expressão Uma variável que representa um objeto Worksheet .

Parâmetros

Nome Obrigatório/Opcional Tipo de dados Descrição
Before Opcional Variantes A planilha antes da qual a planilha copiada será inserida. Não é possível especificar Before se After for especificado.
After Opcional Variantes A planilha depois da qual a planilha copiada será inserida. Não é possível especificar After se Before for especificado.

Comentários

Se você não especificar Antes ou Depois, o Microsoft Excel criará uma nova pasta de trabalho que contém o objeto De planilha copiado. A pasta de trabalho recém-criada contém a propriedade Application.ActiveWorkbook e contém uma única planilha. A planilha única mantém as propriedades Name e CodeName da planilha de origem. Se a planilha copiada tiver uma planilha de código de planilha em um projeto VBA, isso também será levado para a nova pasta de trabalho.

Uma seleção de matriz de várias planilhas pode ser copiada para um novo objeto workbook em branco de maneira semelhante.

A origem e o Destino devem estar na mesma instância do Excel.Application, caso contrário, ele gerará um erro de runtime '1004': não há suporte para essa interface, se algo como Sheet1.Copy objWb.Sheets(1) foi usado ou um erro de runtime '1004': falha na classe Copiar da planilha, se algo assim ThisWorkbook.Worksheets("Sheet1").Copy objWb.Sheets(1) foi usado.

Exemplo

Este exemplo copia Sheet1, inserindo a cópia depois de Sheet3.

Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

Este exemplo primeiro copia o Sheet1 para uma nova pasta de trabalho em branco e, em seguida, salva e fecha a nova pasta de trabalho.

Worksheets("Sheet1").Copy
With ActiveWorkbook 
     .SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
     .Close SaveChanges:=False
End With

Este exemplo copia planilhas Sheet1, Sheet2 e Sheet4 para uma nova pasta de trabalho em branco e salva e fecha a nova pasta de trabalho.

Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy
With ActiveWorkbook
     .SaveAs Filename:=Environ("TEMP") & "\New3.xlsx", FileFormat:=xlOpenXMLWorkbook 
     .Close SaveChanges:=False 
End With 

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.