![](/img/trans.png)
[英]How to copy a whole sheet and transpose paste into another sheet in 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.