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

Traduções de Artigos Traduções de Artigos
Artigo: 288402 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Pode utilizar o Microsoft código do Visual Basic for Applications (VBA) para copiar ou mover folhas dentro 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ção

A Microsoft fornece exemplos de programação apenas, para fins sem garantia expressa ou implícita. Isto inclui, mas não está limitado a, as 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 apresentada e as ferramentas que são utilizadas para criar e depurar procedimentos. Os 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 está 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 que se segue para visualizar o artigo na Microsoft Knowledge Base:
286266Excel 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 Times ActiveSheet múltiplos

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 apenas uma vez todas as folhas de um livro

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
				

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

Mover folha Active Directory 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 folha Active Directory 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 Ajuda do procura Microsoft Visual Basic no menu Ajuda , escreva o método de cópia , clique em Procurar e, em seguida, clique para visualizar "copiar método." Três tópicos estão listados. Escolha aquela que se aplica a folhas de cálculo.

Para mais informações sobre o método de mover, a partir do Editor do Visual Basic, clique em Ajuda do procura Microsoft Visual Basic no menu Ajuda , escreva move o método , clique em Procurar e, em seguida, clique para visualizar "Mover o método." Três tópicos estão listados. Escolha aquela que se aplica a 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, faça clique sobre o Assistente do Office, escreva o método de cópia , clique em Procurar e, em seguida, clique para visualizar "copiar método (MS Excel VBA)."

Para mais informações sobre o método de mover, a partir do Editor do Visual Basic, faça clique sobre o Assistente do Office, escreva move o método , clique em Procurar e, em seguida, clique aqui para visualizar "mover método (MS Excel VBA)."

Para obter informações adicionais sobre problemas relacionados com copiar folhas de cálculo que contêm código no mesmo livro, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
286266XL2001: Excel pára quando tenta copiar folha de cálculo no mesmo livro

Microsoft Excel 98 Macintosh Edition

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

Para mais informações sobre o método de mover, a partir do Editor do Visual Basic, faça clique sobre o Assistente do Office, escreva move o método , clique em Procurar e, em seguida, clique para ver "mover o método (Excel 97)."

Propriedades

Artigo: 288402 - Última revisão: 31 de janeiro de 2007 - Revisão: 5.4
A informação contida neste artigo aplica-se a:
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X para Macintosh
  • Microsoft Excel 2001 para Macintosh
  • Microsoft Excel 98 para Macintosh
Palavras-chave: 
kbmt kbinfo KB288402 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 288402

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com