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.