vba - VBA 宏:将工作表从一个 Excel 文件复制到另一个
问题描述
我需要帮助将工作表从一个 Excel 工作簿复制到另一个工作簿。目前,这是我的代码,但它没有运行:
Sub Code()
Workbooks.Open Filename:="C:\Users\xxx\Desktop\w1.xlsm"
Sheets (Array("Sheet1", "Sheet2"))
Copy after:=Workbooks("w2.xlsm").Sheets(Sheets.Count)
Workbooks("Client Info Template.xlsm").Close savechanges:=False
End Sub
解决方案
代替Sheets...
andCopy ...
作为两行,尝试单行:
Sheets(Array("Sheet1", "Sheet2")).Copy After:=Workbooks("w2.xlsm").Sheets(Sheets.Count)
这可能仍然不起作用,或者至少不可靠,因为Sheets.Count
可能超过目标工作簿中的工作表数,因此最好完全限定所有对象:
Sub Code()
Dim w1 as Workbook, w2 as Workbook
Set w1 = Workbooks.Open(Filename:="C:\Users\xxx\Desktop\w1.xlsm")
Set w2 = Workbooks.Open(Filename:="C:\Users\xxx\Desktop\w2.xlsm") '## Modify as needed
w1.Sheets(Array("Sheet1", "Sheet2")).Copy After:=w2.Sheets(w2.Sheets.Count)
End Sub
推荐阅读
- django - Pythonanywhere TemplateDoesNotExist 位于 /accounts/login/
- assembly - 在装配中反转输出
- asp-classic - 将垂直值与水平表标题连接起来
- html - Html Paypal 付款和电子邮件用户同时
- python - 带有 Flask-Security 的 PyTest - 发出登录以进行测试
- c# - 我可以使用 Firebase 云功能和 Firestore 为 Unity 制作 REST API 吗?
- spring-boot - 外部 jar 中定义的 Spring Boot @Repository 不是 @Autowired
- unity3d - 是否已将“可交互”作为脚本 API 从 Unity 中删除?
- hadoop - pyspark数据帧转置问题
- python - 合并 2 个数据框并创建一个相对于几列的值列表