vba - 将多个工作簿编译到一个文件中,指定要复制到的文件
问题描述
我目前正在使用此宏将多个工作簿编译为一个,并将每个工作簿添加为工作表。它正在工作,但我想更改宏,以便将工作簿添加到具有宏的工作簿的不同工作簿中。
如何才能做到这一点?
编译成一个工作簿:
Sub A_CARS_LAURA_Collate_Compiler()
Path = "C:\Users\00089408\Dropbox\TXT_Files - Copy\A_CARS\"
Filename = Dir(Path & "*.txt")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=ThisWorkbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
解决方案
您只需要添加一个新工作簿(在循环之前)
Dim NewWb As Workbook
Set NewWb = Application.Workbooks.Add
然后将所有工作表复制到NewWb
而不是ThisWorkbook
.
最后你可能想最后保存新的工作簿
NewWb.SaveAs
推荐阅读
- java - 为什么传递的数组不能使用 lambda 函数
- python - 1694 (HY000): 不能在事务中修改@@session.sql_log_bin
- firebase - 如何在 Firebase 函数中获取下载 URL
- html - 菜单接管子元素的高度导致跳跃效果
- kubernetes - 无法在我的 GKE 集群中将服务应用为“类型:ClusterIP”
- javascript - jquery ui-自动完成选择值而不是标签
- r - 错误:必须从色调调色板中请求至少一种颜色
- android - 通过多个同时网络调用获取套接字超时异常
- java - Spring:Eclipse 停止识别 java 类,但一切正常
- folium - 使用 TimeStampedGeojson Folium 插件未在地图中显示点