Jak skopiować lub przenieść arkusze przy użyciu kodu VBA w programie Excel dla komputerów Macintosh

Tłumaczenia artykułów Tłumaczenia artykułów
Numer ID artykułu: 288402 - Zobacz jakich produktów dotyczą zawarte w tym artykule porady.
Rozwiń wszystko | Zwiń wszystko

Na tej stronie

Streszczenie

Microsoft kod Visual Basic for Applications (VBA) można użyć, aby skopiować lub przenieść arkusze w skoroszycie lub między skoroszytami. Jest to szczególnie przydatne, jeśli chcesz przenieść lub skopiować wiele arkuszy lub utwórz wiele kopii na arkusz.

Ten artykuł zawiera przykłady kodu języka VBA, aby wykonać te zadania.

Więcej informacji

Firma Microsoft podaje przykłady programowania wyłącznie, bez jakichkolwiek gwarancji wyrażonych wprost lub domyślnie. Obejmuje, ale nie jest ograniczona do domniemanych gwarancji jakości lub przydatności do określonego celu. W tym artykule założono, że czytelnik jest obeznany z językiem programowania, przy czym obrazuje i narzędzia, które są używane do tworzenia i debugowania procedur. Wykwalifikowani pracownicy pomocy technicznej firmy Microsoft mogą pomóc w wyjaśnieniu jak działa określona procedura, ale nie będą modyfikować tych przykładów ani dodawać żadnej funkcji i konstruować nowych procedur w celu spełnienia szczególnych wymagań. Uwaga W Microsoft Excel 2001 dla komputerów Macintosh bez Microsoft Office 2001 dla komputerów Macintosh Service Release 1 należy umieścić kod w oddzielnym skoroszycie z arkuszy kopiowane.

Excel 2001 dla komputerów Macintosh wystąpił problem, gdy kod VBA, który kopiuje arkusze w tym samym skoroszycie, jak arkusze kopiowane.

Ten problem został rozwiązany w dodatku Service Release 1 dla Microsoft Office 2001 dla komputerów Macintosh. Aby uzyskać dodatkowe informacje tego problemu w programie Excel 2001 dla komputerów Macintosh, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
286266Program Excel przestaje odpowiadać podczas próby skopiowania arkusza w tym samym skoroszycie
:

Przykładowy kod, aby skopiować arkusze

Kopiuj arkusz określonych w aktywnym skoroszycie

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

Kopiuj arkusz określonych w aktywnym skoroszycie wiele razy


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
				

Kopiowanie ActiveSheet wiele razy

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
				

Raz kopiowane wszystkie arkusze w skoroszycie

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
				

Przykładowy kod, aby przenieść arkusze

Przenieś aktywny arkusz do nowego położenia w skoroszycie

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

Przenieś aktywny arkusz do innego skoroszytu

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
				

Przenoszenie wielu arkuszy w ActiveWorkbook do innego skoroszytu

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
				

Materiały referencyjne

Program Microsoft Excel X dla komputerów Macintosh i jego nowsze wersje

Kliknij, aby uzyskać więcej informacji na temat metody Kopiuj z Edytora Visual Basic Wyszukaj w Pomocy programu Microsoft Visual Basic na Pomoc menu Typ Metoda kopiowania, kliknij przycisk Wyszukiwanie, a następnie kliknij, aby wyświetlić "Copy metody". Trzy tematy są wyświetlane. Wybierz ten, który ma zastosowanie do arkuszy.

Kliknij, aby uzyskać więcej informacji na temat metody Move z Edytora Visual Basic Wyszukaj w Pomocy programu Microsoft Visual Basic na Pomoc menu Typ przenieść metodę, kliknij przycisk Wyszukiwanie, a następnie kliknij, aby wyświetlić "Przenieś metody" Trzy tematy są wyświetlane. Wybierz ten, który ma zastosowanie do arkuszy.

Excel 2001 dla komputerów Macintosh

Aby uzyskać więcej informacji na temat metody Copy z Edytora Visual Basic, kliknij Asystenta pakietu Office, wpisz Metoda kopiowania, kliknij przycisk Wyszukiwanie, a następnie kliknij, aby wyświetlić "Copy metody (MS Excel VBA)".

Aby uzyskać więcej informacji na temat metody Move z Edytora Visual Basic, kliknij Asystenta pakietu Office, wpisz przenieść metodę, kliknij przycisk Wyszukiwanie, a następnie kliknij, aby wyświetlić "Przenieś metody (MS Excel VBA)"

Aby uzyskać dodatkowe informacje dotyczące problemów z kopiowaniem arkusze, które zawierają kod w tym samym skoroszycie kliknij numer artykułu poniżej w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
286266 XL2001: Zawiesza się z programu Excel podczas próby skopiowania arkusza w tym samym skoroszycie

Program Microsoft Excel 98 Macintosh Edition

Aby uzyskać więcej informacji na temat metody Copy z Edytora Visual Basic, kliknij Asystenta pakietu Office, wpisz Metoda kopiowania, kliknij przycisk Wyszukiwanie, a następnie kliknij, aby wyświetlić "Copy metody (Excel 97)".

Kliknij, aby uzyskać więcej informacji na temat metody Move z Edytora Visual Basic Asystent pakietu Office, typ przenieść metodę, kliknij przycisk Wyszukiwanie, a następnie kliknij, aby wyświetlić "Przenieś metody (Excel 97)"

Właściwości

Numer ID artykułu: 288402 - Ostatnia weryfikacja: 6 października 2011 - Weryfikacja: 3.0
Informacje zawarte w tym artykule dotyczą:
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Mac
  • Microsoft Excel 98 for Macintosh
Słowa kluczowe: 
dftsdahomeportal kbinfo kbmt KB288402 KbMtpl
Przetłumaczone maszynowo
WAŻNE: Ten artykuł nie został przetłumaczony przez człowieka, tylko przez oprogramowanie do tłumaczenia maszynowego firmy Microsoft. Firma Microsoft oferuje zarówno artykuły tłumaczone przez ludzi, jak i artykuły tłumaczone maszynowo, dzięki czemu każdy użytkownik może uzyskać dostęp do całej zawartości bazy wiedzy Knowledge Base we własnym języku. Prosimy jednak pamiętać, że artykuły przetłumaczone maszynowo nie zawsze są doskonałe. Mogą zawierać błędy słownictwa, składni i gramatyki, przypominające błędy robione przez osoby, dla których język użytkownika nie jest językiem ojczystym. Firma Microsoft nie odpowiada za wszelkie nieścisłości, błędy lub szkody spowodowane nieprawidłowym tłumaczeniem zawartości oraz za wykorzystanie tej zawartości przez klientów. Oprogramowanie do tłumaczenia maszynowego jest często aktualizowane przez firmę Microsoft.
Anglojęzyczna wersja tego artykułu to:288402

Przekaż opinię

 

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