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

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:288402
結論
若要複製或移動工作表中的活頁簿或活頁簿之間,您可以使用 Microsoft Visual Basic for Applications (VBA) 程式碼。如果您想要移動或複製許多的工作表,或如果您想要讓多份工作表,這會特別有用。

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

複製工作表的 VBA 程式碼與要複製的工作表相同的活頁簿時,Excel 2001 Macintosh 會發生問題。

Microsoft Office 2001年的服務版本 1 的 mac 解決這個問題 如其他有關在 Excel 2001 年,for Mac 中,這個問題,請按一下下面的文件編號,檢視 「 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")    NextEnd 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.   NextEnd 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.   NextEnd 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				

將多個工作表移到另一個活頁簿 True

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.    NextEnd Sub				
参考

Mac 和更新版本的 Microsoft Excel X

如需有關 Copy 方法,從 Visual Basic 編輯器] 中,按一下 [搜尋 Microsoft Visual Basic 的說明,在 [說明] 功能表,[型別上 copy 方法按一下 [搜尋],然後按一下,檢視「 複製方法 」。三個主題會列出。選擇想套用到工作表。

如需有關 Move 方法,從 Visual Basic 編輯器] 中,按一下 [搜尋 Microsoft Visual Basic 的說明,在 [說明] 功能表,[型別上 將方法按一下 [搜尋],然後按一下 [若要檢視[移動方式]。三個主題會列出。選擇想套用到工作表。

Excel Macintosh 2001

如需有關 Copy 方法,從 Visual Basic 編輯器] 中,按一下 [Office 小幫手],輸入 copy 方法按一下 [搜尋],然後按一下,檢視「 複本方法 (MS Excel VBA) 」。

如需有關 Move 方法,從 Visual Basic 編輯器] 中,按一下 [Office 小幫手],輸入 將方法按一下 [搜尋],然後按一下,檢視「 移動方法 (MS Excel VBA) 」。

如需其他有關複製包含相同的活頁簿中的程式碼的工作表的問題的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文件 ︰
286266 XL2001 ︰ 當您嘗試在相同的活頁簿中複製工作表時,Excel 停止回應

Microsoft Excel 98 Macintosh 版本

如需有關 Copy 方法,從 Visual Basic 編輯器] 中,按一下 [Office 小幫手],輸入 copy 方法按一下 [搜尋],然後按一下,檢視「 複本方法 (Excel 97) 」。

如需有關 Move 方法,從 Visual Basic 編輯器] 中,按一下 [theOffice 小幫手],型別 將方法按一下 [搜尋],然後按一下,檢視「 移動方法 (Excel 97) 」。

XL2001KB MAC XL2001 XL98 Excel 複製程式碼 VBA 程式設計自動化 Visual Basic 巨集傳輸 XLX XL2004

警告:本文為自動翻譯

属性

文章 ID:288402 - 上次审阅时间:05/21/2016 10:27:00 - 修订版本: 6.0

Microsoft Excel 2004 for Mac, Microsoft Excel X for Mac, Microsoft Excel 2001 for Macintosh, Microsoft Excel 98 for Macintosh

  • dftsdahomeportal kbinfo kbmt KB288402 KbMtzh
反馈