Jak zkopírovat nebo přesunout listy pomocí kódu jazyka VBA v aplikaci Excel for Mac

Překlady článku Překlady článku
ID článku: 288402 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Microsoft Visual Basic for Applications (VBA) kód můžete zkopírovat nebo přesunout listy v sešitu nebo mezi sešity. To je zvláště užitečné, pokud chcete přesunout nebo zkopírovat mnoho listů nebo pokud chcete vytvářet více kopií list.

Tento článek obsahuje příklady kódu jazyka VBA k provedení těchto úkolů.

Další informace

Společnost Microsoft poskytuje ukázky programování pouze pro ilustraci bez žádné záruky výslovně uvedené nebo předpokládané. Zahrnuje, ale neomezuje se pouze na předpokládaných záruk obchodovatelnosti nebo vhodnosti pro určitý účel. Tento článek předpokládá, že jste obeznámeni s programovacím jazykem, který je předmětem ukázky a s nástroji, které slouží k vytvoření a ladění skriptu. Pracovníci podpory společnosti Microsoft mohou vysvětlit funkce určitého postupu, nemohou však tyto příklady funkce nebo konstrukce podle konkrétních požadavků uživatele. Poznámka: V aplikaci Microsoft Excel 2001 pro systém Macintosh bez Microsoft Office 2001 pro Mac Service Release 1 je nutné umístit kód v jiném sešitu, z kopírované listy.

Aplikace Excel 2001 pro počítače Macintosh došlo k potížím při kód jazyka VBA, který zkopíruje listů ve stejném sešitu jako kopírované listy.

Toto je problém s aktualizací Service Release 1 pro Microsoft Office 2001 for Mac. Další informace o tento problém v aplikaci Excel 2001 pro Mac, klepnutím na následující číslo článku:
286266Aplikace Excel přestane reagovat při pokusu o zkopírování listu ve stejném sešitu.
:

Ukázkový kód kopírování listů

Kopírovat určitý list v aktivním sešitu

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

Kopírovat vícekrát určitý list v aktivním sešitu


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
				

Zkopírovat více ActiveSheet časy

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
				

Jednou zkopírovat všechny listy v sešitu

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
				

Ukázkový kód přesunout listy

Aktivní list přesunout do nového umístění v sešitu

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

Aktivní list přesunout do jiného sešitu

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
				

Přesunout více listů v ActiveWorkbook do jiného sešitu

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
				

Odkazy

Microsoft Excel X pro Mac a novější verze

Další informace o metodě kopie z editoru jazyka Visual Basic klepněte na tlačítko Nápověda k hledání Microsoft Visual Basic v nabídce Nápověda typu Metoda Copy, klepněte na tlačítko Hledata klepněte na tlačítko Zobrazit "Kopírovat metoda. Jsou uvedeny tři témata. Vyskladnění, který se vztahuje na listech.

Další informace o metodě přesunout z editoru jazyka Visual Basic klepněte na tlačítko Nápověda k hledání Microsoft Visual Basic v nabídce Nápověda typu přesunout metoda, klepněte na tlačítko Hledata klepněte na tlačítko Zobrazit "Metodu Move." Jsou uvedeny tři témata. Vyskladnění, který se vztahuje na listech.

Aplikace Excel 2001 pro počítače Macintosh

Další informace o metodě kopie z editoru jazyka Visual Basic klepněte na tlačítko Pomocník Office, zadejte Metoda Copy, klepněte na tlačítko Hledata klepněte na tlačítko Zobrazit "Kopírovat metoda (MS Excel VBA).

Další informace o metodě přesunout z editoru jazyka Visual Basic klepněte na tlačítko Pomocník Office, zadejte přesunout metoda, klepněte na tlačítko Hledata klepněte na tlačítko Zobrazit "Metodu Move (MS Excel VBA)."

Další informace o problémech s kopírování listů, které obsahují kód ve stejném sešitu získáte v článku znalostní báze Microsoft Knowledge Base:
286266 XL2001: Aplikace Excel přestane reagovat při pokusu o zkopírování listu ve stejném sešitu.

Microsoft Excel 98 Macintosh Edition

Další informace o metodě kopie z editoru jazyka Visual Basic klepněte na tlačítko Pomocník Office, zadejte Metoda Copy, klepněte na tlačítko Hledata klepněte na tlačítko Zobrazit "Kopírovat metoda (Excel 97).

Další informace o metodu Move Visual Basic Editor klepněte Pomocník Office, typ přesunout metoda, klepněte na tlačítko Hledata klepněte na tlačítko Zobrazit "Metodu Move (Excel 97)."

Vlastnosti

ID článku: 288402 - Poslední aktualizace: 18. srpna 2012 - Revize: 8.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X pro počítače Macintosh
  • Microsoft Excel 2001 pro počítače Macintosh
  • Microsoft Excel 98 pro počítače Macintosh
Klíčová slova: 
dftsdahomeportal kbinfo kbmt KB288402 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku: 288402

Dejte nám zpětnou vazbu

 

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