Worksheet.Copy 方法 (Excel)

將工作表複製到目前活頁簿或新活頁簿中的另一個位置。

語法

運算式複製 (之前之後)

表達 代表 Worksheet 物件的 變數。

參數

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

註解

如果您未指定 BeforeAfter,Microsoft Excel 會建立新的活頁簿,其中包含複製的 Worksheet 物件。 新建立的活頁簿會保留 Application.ActiveWorkbook 屬性,並包含單一工作表。 單一工作表會保留來源工作表的 NameCodeName 屬性。 如果複製的工作表在 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、Sheet2 和 Sheet4 複製到新的空白活頁簿,然後儲存並關閉新的活頁簿。

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 支援與意見反應