簡體   English   中英

如何在vba中復制和粘貼工作表?

[英]How to copy and paste a sheet in vba?

我正在尋找如何在 vba 中復制活動表,我想將其粘貼到另一個工作簿(已關閉)中。

通常我試過這個,但它失敗了:

 Workbooks.Open Filename:=ThisWorkbook.Path & "\target.xlsx" 
ThisWorkbook.ActiveSheet.Copy After:=Workbooks("target.xlsx").Sheets(Workbooks("target.xlsx").Worksheets.Count) 

Workbooks.Open是一個函數。 它返回一個Workbook對象引用,指向剛剛打開的Workbook對象。

 Workbooks.Open Filename:=ThisWorkbook.Path & "\\target.xlsx"

您正在丟棄該引用。

捕捉它!

Dim targetBook As Workbook
Set targetBook = Workbooks.Open(ThisWorkbook.Path & "\target.xlsx")

現在,無需在每次需要時從Workbooks集合中取消引用該工作Workbooks ...

 ThisWorkbook.ActiveSheet.Copy After:=Workbooks("target.xlsx").Sheets(Workbooks("target.xlsx").Worksheets.Count)

只需使用您擁有的對象:

ThisWorkbook.ActiveSheet.Copy After:=targetBook.Sheets(targetBook.Worksheets.Count)

當你完成后,調用它的Close方法來關閉它:

targetBook.Close SaveChanges:=True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM