Excel) (Worksheet.Copy 方法

將工作表複製到目前活頁簿或新活頁簿中的其他位置。

語法

運算式。複製 (前、) 後

運算式 代表 Worksheet 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Before 選用 Variant 要複製的工作表將放在此工作表之前。 如果您指定 [之後],則無法指定之前。
After 選用 Variant 要複製的工作表將放在此工作表之後。 如果已經指定了 Before,則無法指定 After。

註解

如果未指定 之前 或 之後,Microsoft Excel 會建立包含複製的工作 表 物件的新活頁簿。 新建立的活頁簿包含 Application.ActiveWorkbook 屬性,並包含單一工作表。 單一工作表會保留來源工作表的 [名稱 ] 和 [代碼名稱 ] 屬性。 如果複製的工作表含有 VBA 專案中的工作表程式碼表,這也會被帶入新的活頁簿中。

您可以使用類似的方式將多個工作表的陣列選取範圍複製到新的空白 Workbook 物件。

來源和目的地必須位於相同的 Excel.Application 執行個體中,否則會引發執行階段錯誤「1004」:不支援此類介面(如果使用類似 Sheet1.Copy objWb.Sheets(1) 的內容),或執行階段錯誤「1004」:工作表類別的複製方法失敗(如果使用類似 ThisWorkbook.Worksheets("Sheet1").Copy objWb.Sheets(1) 的內容)。

範例

此範例會複製 Sheet1,並將複製的工作表放在 Sheet3 之後。

Worksheets("Sheet1").Copy After:=Worksheets("Sheet3")

此範例會先將 Sheet1 複製到新的空白活頁簿,然後儲存並關閉新的活頁簿。

Worksheets("Sheet1").Copy
With ActiveWorkbook 
     .SaveAs Filename:=Environ("TEMP") & "\New1.xlsx", FileFormat:=xlOpenXMLWorkbook
     .Close SaveChanges:=False
End With

此範例會將工作表 Sheet1、工作表2 和工作表 4 複製到新的空白活頁簿,然後儲存並關閉新的活頁簿。

Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Copy
With ActiveWorkbook
     .SaveAs Filename:=Environ("TEMP") & "\New3.xlsx", FileFormat:=xlOpenXMLWorkbook 
     .Close SaveChanges:=False 
End With 

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。