如何複製或移動工作表在 Excel 中使用 VBA 程式碼為 Mac

文章翻譯 文章翻譯
文章編號: 288402 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

結論

您可以使用應用程式 VBA 程式碼的 Microsoft Visual Basic ?複製或移動工作表中的活頁簿或活頁簿之間。如果您要移動或複製許多工作表,或您想讓多份工作表,此點將特別有用。

本文提供的 VBA 程式碼來完成這些工作的範例。

其他相關資訊

Microsoft 僅,為了說明提供程式設計範例,不提供任何明示或默示的保證。這包括,但不限於適售性或適合某特定用途之默示擔保責任。本文假設您已熟悉使用我們所示範的程式設計語言以及建立和偵錯程序所使用的工具。Microsoft 技術支援工程師可以協助解釋特定程序的功能,但它們不會修改這些範例以提供附加功能或建構程序,以符合您特定需求。附註在 Microsoft Excel 2001 年的 Macintosh 沒有 Mac 服務版本 1 的 Microsoft Office 2001,您必須從被複製工作表的不同活頁簿中放置程式碼。

Macintosh 的 Excel 2001 發生問題,當複製工作表的 VBA 程式碼位於相同的活頁簿以複製工作表。

對於 Mac.解決這個問題與 Microsoft Office 2001 的服務版本 1對於其他有關這個問題在 Mac 的 Excel 2001 年會按一下下列文章編號,檢視發行項 「 Microsoft 知識庫 」 中:
286266當您嘗試在同一個活頁簿中複製工作表時,Excel 停止回應
:

若要複製工作表的範例程式碼

使用中活頁簿中複製特定的工作表

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

使用中活頁簿中多次複製特定的工作表


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
				

複製 [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
				

一次複製一個活頁簿中的所有工作表

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
				

若要移動工作表的範例程式碼

將使用中工作表移到活頁簿中的新位置

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

將使用中工作表移到另一個活頁簿

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
				

將多個工作表中 ActiveWorkbook 移動到另一個活頁簿

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
				

?考

Mac 和更新版本的 Microsoft Excel X

Copy 方法從 Visual Basic 編輯器的相關資訊按一下 [說明] 功能表上的 [搜尋 Microsoft Visual Basic 說明],輸入 複製方法]、 按一下 [搜尋],然後再按一下,檢視 「 複製方法。"三個主題會列出。挑選所套用到工作表。

如需有關 Move 方法從 Visual Basic 編輯器,按一下 [說明] 功能表上的 [搜尋 Microsoft Visual Basic 說明]、 輸入 移動方法]、 按一下 [搜尋],然後按一下 [若要檢視 [移動] 方法。三個主題會列出。挑選所套用到工作表。

Macintosh 的 Excel 2001 年

Copy 方法從 Visual Basic 編輯器的相關資訊按一下 [Office 小幫手]、 輸入 複製法]、 按一下 [搜尋],然後按一下,檢視 「 複製方法 (MS Excel VBA) >

Move 方法從 Visual Basic 編輯器的相關資訊按一下 [Office 小幫手],鍵入 移動方法]、 按一下 [搜尋],然後再按一下檢視 」 移動方法 (MS Excel VBA)

如需有關與複製包含在相同的活頁簿中的程式碼的工作表的問題的詳細資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項:
286266XL2001: Excel 擱置,當您嘗試在同一個活頁簿中複製工作表

Microsoft Excel 98 Macintosh 版本

至於 [Office 小幫手,型別 複本方法 Copy 方法從 Visual Basic 編輯器,相關資訊,按一下按一下 搜尋,然後再按一下,檢視 「 複製方法 (Excel 97) >

Move 方法從 Visual Basic 編輯器的相關資訊按一下 [Office 小幫手]、 輸入 移動方法]、 按一下 [搜尋],然後按一下以檢視 "Move 方法 (Excel 97)."

屬性

文章編號: 288402 - 上次校閱: 2007年1月31日 - 版次: 5.4
這篇文章中的資訊適用於:
  • Microsoft Excel 2004 for Mac
  • Microsoft Excel X for Mac
  • Microsoft Excel 2001 for Macintosh
  • Microsoft Excel 98 for Macintosh
關鍵字:?
kbmt kbinfo KB288402 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:288402
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

提供意見

 

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