将多个excel工作簿合并到一个主工作簿中
如标题中所述。我一直在想办法。 我尝试过使用VB脚本将excel工作簿合并到一个excel工作簿中的方法。但是,当我编写脚本时,没有迹象表明所有工作簿都已编译到主工作簿中 下面是我完成的VB脚本:将多个excel工作簿合并到一个主工作簿中,excel,vba,Excel,Vba,如标题中所述。我一直在想办法。 我尝试过使用VB脚本将excel工作簿合并到一个excel工作簿中的方法。但是,当我编写脚本时,没有迹象表明所有工作簿都已编译到主工作簿中 下面是我完成的VB脚本: Sub GetSheets() Path = "C:\Users\..." Filename = Dir(Path & ".xlsx") Do While Filename <> "" Workbooks.Open Filename:=Path & Filename, R
Sub GetSheets()
Path = "C:\Users\..."
Filename = Dir(Path & ".xlsx")
Do While Filename <> ""
Workbooks.Open Filename:=Path & Filename, ReadOnly:=True
For Each Sheet In ActiveWorkbook.Sheets
Sheet.Copy After:=This.Workbook.Sheets(1)
Next Sheet
Workbooks(Filename).Close
Filename = Dir()
Loop
End Sub
Sub-GetSheets()
Path=“C:\Users\…”
Filename=Dir(路径和“.xlsx”)
文件名“”时执行此操作
工作簿。打开文件名:=路径和文件名,只读:=真
对于ActiveWorkbook.Sheets中的每个工作表
Sheet.Copy After:=This.Workbook.Sheets(1)
下一页
工作簿(文件名)。关闭
Filename=Dir()
环
端接头
打开工作簿时,它将成为活动工作簿
Sub GetSheets()
Path = "C:\Users\..."
Filename = Dir(Path & "*.xlsx")
Dim Wb As Workbook
Dim Wb0 As Workbook: Set Wb0 = ActiveWorkbook
Dim Sh As Worksheet
Do While Filename <> ""
Set Wb = Workbooks.Open(Path & Filename)
For Each Sh In Wb.Sheets
Sh.Copy After:=Wb0.Sheets(Wb0.Sheets.Count)
Next Sh
Wb.Saved = True
Wb.Close
Filename = Dir()
Loop
End Sub
Sub-GetSheets()
Path=“C:\Users\…”
Filename=Dir(路径&“*.xlsx”)
将Wb设置为工作簿
将Wb0设置为工作簿:设置Wb0=ActiveWorkbook
将Sh设置为工作表
文件名“”时执行此操作
设置Wb=Workbooks.Open(路径和文件名)
对于Wb.表中的每个Sh
Sh.Copy After:=Wb0.Sheets(Wb0.Sheets.Count)
下一个Sh
Wb.Saved=True
Wb.关闭
Filename=Dir()
环
端接头
Hi Joe,我也尝试过使用您的代码,但主工作簿中仍然没有编译工作表的迹象。请将Filename=Dir(Path&“.xlsx”)
更改为Filename=Dir(Path&“*.xlsx”)
并确保您的路径以“\”结尾。您可能会发现这很有帮助:尝试过。它为我提供了一个新的excel工作簿,而不是一起编译文件。那么,将所有文件合并到一个新工作簿中有什么错呢?这似乎正是您想要的。。。编辑代码,使它做你需要的-这就是我所做的。。。