Como copiar ou mover folhas utilizando código VBA do Excel para Mac

Sumário

Pode utilizar o Microsoft código Visual Basic for Applications (VBA) para copiar ou mover folhas no prazo de um livro ou entre livros. Isto é particularmente útil se pretender mover ou copiar folhas muitas ou se pretender efectuar várias cópias de uma folha.

Este artigo fornece exemplos de código VBA para efectuar estas tarefas.

Mais informações

Microsoft fornece exemplos de programação apenas, a título sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação a um fim específico. Este artigo pressupõe que está familiarizado com a linguagem de programação que está a ser demonstrada e com as ferramentas que são utilizadas para criar e depurar procedimentos. Técnicos de suporte da Microsoft podem ajudar a explicar a funcionalidade de um determinado procedimento, mas não modificarão estes exemplos para proporcionarem funcionalidades adicionais nem criarão procedimentos adaptados às necessidades específicas do utilizador. Nota no Microsoft Excel 2001 para Macintosh sem o Microsoft Office 2001 para Mac Service Release 1, tem de colocar o código num livro separado das folhas que está a ser copiado.

Excel 2001 para Macintosh teve um problema quando o código VBA que copia as folhas no mesmo livro que as folhas que está a ser copiado.

Este problema foi resolvido com o Service Release 1 para o Microsoft Office 2001 para Mac. Para obter informações adicionais sobre este problema no Excel 2001 para Mac, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:

286266 Excel deixa de responder quando tenta copiar folha de cálculo no mesmo livro

:

Código de exemplo para copiar folhas de cálculo

Copiar uma folha específica no livro activo

Sub Copier1()    'Replace "Sheet1" with the name of the sheet to be copied.
ActiveWorkbook.Sheets("Sheet1").Copy _
after:=ActiveWorkbook.Sheets("Sheet1")
End Sub

Copiar uma folha específica no livro activo várias vezes

Sub Copier2()    Dim x As Integer

x = InputBox("Enter number of times to copy Sheet1")
For numtimes = 1 To x
'Loop by using x as the index number to make x number copies.
'Replace "Sheet1" with the name of the sheet to be copied.
ActiveWorkbook.Sheets("Sheet1").Copy _
After:=ActiveWorkbook.Sheets("Sheet1")
Next
End Sub

Copiar os ActiveSheet várias vezes

Sub Copier3()   Dim x As Integer

x = InputBox("Enter number of times to copy active sheet")
For numtimes = 1 To x
'Loop by using x as the index number to make x number copies.
ActiveWorkbook.ActiveSheet.Copy _
Before:=ActiveWorkbook.Sheets("Sheet1")
'Put copies in front of Sheet1.
'Replace "Sheet1" with sheet name that you want.
Next
End Sub

Copiar todas as folhas num livro, uma vez

Sub Copier4()   Dim x As Integer

For x = 1 To ActiveWorkbook.Sheets.Count
'Loop through each of the sheets in the workbook
'by using x as the sheet index number.
ActiveWorkbook.Sheets(x).Copy _
After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
'Puts all copies after the last existing sheet.
Next
End Sub

Exemplo de código para mover folhas de cálculo

Mover a folha activa para uma nova posição no livro

Sub Mover1()    ActiveSheet.Move _
After:=ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
'Moves active sheet to end of active workbook.
End Sub

Mover a folha activa para outro livro

Sub Mover2()    ActiveSheet.Move Before:=Workbooks("Test.xls").Sheets(1)
'Moves active sheet to beginning of named workbook.
'Replace Test.xls with the full name of the target workbook you want.
End Sub

Mover várias folhas ActiveWorkbook para outro livro

Sub Mover3()   Dim BkName As String
Dim NumSht As Integer
Dim BegSht As Integer

'Starts with second sheet - replace with index number of starting sheet.
BegSht = 2
'Moves two sheets - replace with number of sheets to move.
NumSht = 2
BkName = ActiveWorkbook.Name

For x = 1 To NumSht
'Moves second sheet in source to front of designated workbook.
Workbooks(BkName).Sheets(BegSht).Move _
Before:=Workbooks("Test.xls").Sheets(1)
'In each loop, the next sheet in line becomes indexed as number 2.
'Replace Test.xls with the full name of the target workbook you want.
Next
End Sub

Referências

Microsoft Excel X para Mac e versões posteriores

Para mais informações sobre o método de cópia, a partir do Editor do Visual Basic, clique em Procurar Microsoft Visual Basic no menu Ajuda , escreva o método de cópia, clique em Procurare, em seguida, clique para ver o "Método de cópia". Três tópicos estão listados. Escolha a que se aplica às folhas de cálculo.

Para mais informações sobre o método Move, a partir do Editor do Visual Basic, clique em Procurar Microsoft Visual Basic no menu Ajuda , escreva move o método, clique em Procurare, em seguida, clique para visualizar "Mover o método". Três tópicos estão listados. Escolha a que se aplica às folhas de cálculo.

Excel 2001 para Macintosh

Para mais informações sobre o método de cópia, a partir do Editor do Visual Basic, clique no Assistente do Office, escreva o método de cópia, clique em Procurare, em seguida, clique para ver o "Método de cópia (MS Excel VBA)."

Para mais informações sobre o método Move, a partir do Editor do Visual Basic, clique no Assistente do Office, escreva move o método, clique em Procurare, em seguida, clique para visualizar "Mover o método (MS Excel VBA)."

Para obter informações adicionais sobre problemas relacionados com copiar folhas de cálculo que contêm o código no mesmo livro, clique no número de artigo abaixo para visualizar o artigo na Microsoft Knowledge Base:

286266 XL2001: Excel deixa de reagir quando tenta copiar folha de cálculo no mesmo livro

Microsoft Excel 98 Macintosh Edition

Para obter mais informações sobre o método de cópia, a partir do Editor do Visual Basic, clique em Assistente do Office, de tipo de método de cópia, clique em Procurare, em seguida, clique para visualizar "Copiar método (Excel 97)".

Para mais informações sobre o método Move, a partir do Editor do Visual Basic, clique no Assistente do Office, escreva move o método, clique em Procurare, em seguida, clique para visualizar "mover método (Excel 97)."

Propriedades

ID do Artigo: 288402 - Última Revisão: 20/02/2017 - Revisão: 1

Microsoft Excel 2004 for Mac, Microsoft Excel X para Macintosh, Microsoft Excel 2001 para Macintosh, Microsoft Excel 98 para Macintosh

Comentários