Como copiar ou mover planilhas usando código do VBA no Excel para Mac

Traduções deste artigo Traduções deste artigo
ID do artigo: 288402 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Neste artigo

Sumário

Você pode usar o Microsoft código do Visual Basic for Applications (VBA) para copiar ou mover planilhas dentro de uma pasta de trabalho ou entre pastas de trabalho. Isso é particularmente útil se você deseja mover ou copiar várias planilhas, ou se você deseja fazer várias cópias de uma planilha.

Este artigo fornece exemplos de código do VBA para realizar essas tarefas.

Mais Informações

Microsoft fornece exemplos de programação apenas para ilustração, sem garantia expressa ou implícita. Isso inclui, mas não está limitado a, garantias implícitas de comercialização ou adequação para uma finalidade específica. Este artigo presume que você está familiarizados com a linguagem de programação que está sendo demonstrada e com as ferramentas que são usadas para criar e depurar procedimentos. Engenheiros de suporte podem ajudar a explicar a funcionalidade de um determinado procedimento, mas eles não modificarão esses exemplos para fornecer funcionalidades adicionais ou construir procedimentos para atender às suas necessidades. Observação No Microsoft Excel 2001 para Macintosh sem o Microsoft Office 2001 para Mac Service Release 1, você deve colocar o código em uma pasta de trabalho separada das planilhas que está sendo copiado.

Excel 2001 para Macintosh tinha um problema quando o código VBA que copia as planilhas é na mesma pasta de trabalho como as planilhas que está sendo copiado.

Esse problema é resolvido com o Service Release 1 para Microsoft Office 2001 para Mac. Para obter informações adicionais sobre esse problema no Excel 2001 para Mac, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
286266Excel trava ao tentar copiar planilha na mesma pasta de trabalho
:

Código de exemplo para copiar planilhas

Copiar uma planilha específica na pasta de trabalho ativa

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 planilha específica na pasta de trabalho ativa 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 vários ActiveSheet

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 planilhas em uma pasta de trabalho 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
				

Código de exemplo para mover planilhas

Mover a planilha Active para uma nova posição na pasta de trabalho

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

Mover Active planilha para outra pasta de trabalho

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 outra pasta de trabalho

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 obter mais informações sobre o método de copiar, no Editor do Visual Basic, clique em Ajuda do pesquisa Microsoft Visual Basic no menu Ajuda , digite o método de cópia , clique em Pesquisar e, em seguida, clique para exibir "Copiar método." Três tópicos estão listados. Escolha o que se aplica a planilhas.

Para obter mais informações sobre o método Move, no Editor do Visual Basic, clique em Ajuda do pesquisa Microsoft Visual Basic no menu Ajuda , digite o método move , clique em Pesquisar e, em seguida, clique para exibir "Mover" método. Três tópicos estão listados. Escolha o que se aplica a planilhas.

Excel 2001 para Macintosh

Para obter mais informações sobre o método de copiar, no Editor do Visual Basic, clique no Assistente do Office, digite o método de cópia , clique em Pesquisar e, em seguida, clique para exibir "método de cópia (Microsoft Excel VBA)".

Para obter mais informações sobre o método Move, no Editor do Visual Basic, clique no Assistente do Office, digite o método move , clique em Pesquisar e, em seguida, clique para exibir "Mover método (Microsoft Excel VBA)."

Para obter informações adicionais sobre problemas com copiar planilhas que contêm código na mesma pasta de trabalho, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
286266XL2001: Excel trava ao tentar copiar planilha na mesma pasta de trabalho

Microsoft Excel 98 Macintosh Edition

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

Para obter mais informações sobre o método Move, no Editor do Visual Basic, clique no Assistente do Office, digite o método move , clique em Pesquisar e, em seguida, clique para exibir "método Move (Excel 97)."

Propriedades

ID do artigo: 288402 - Última revisão: quarta-feira, 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 Mac
  • Microsoft Excel 98 for 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes 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