Worksheet.Copy 方法 (Excel)
將工作表複製到目前活頁簿或新活頁簿中的另一個位置。
語法
運算式。複製 (之前、 之後)
表達 代表 Worksheet 物件的 變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Before | 選用 | Variant | 要複製的工作表將放在此工作表之前。 如果指定After,則無法指定Before。 |
After | 選用 | Variant | 要複製的工作表將放在此工作表之後。 如果已經指定了 Before,則無法指定 After。 |
註解
如果您未指定 Before 或 After,Microsoft Excel 會建立新的活頁簿,其中包含複製的 Worksheet 物件。 新建立的活頁簿會保留 Application.ActiveWorkbook 屬性,並包含單一工作表。 單一工作表會保留來源工作表的 Name 和 CodeName 屬性。 如果複製的工作表在 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 支援與意見反應。