需要更正代码以在单个工作簿中合并工作簿 - 消除Save Promt

时间:2017-03-13 19:32:07

标签: excel vba excel-vba

下面是将多个工作簿合并到单个工作簿的代码。但是,它会提示保存要传输的每个文件。

我需要在不中断传输数据的情况下保存文件。

非常感谢您的帮助。

Sub Merger()
Dim bookList As Workbook
Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
Application.ScreenUpdating = False
Set mergeObj = CreateObject("C:\Users\Vincent\Desktop\856")

Set dirObj = mergeObj.Getfolder("D:\change\to\excel\files\path\here")

Set filesObj = dirObj.Files
For Each everyObj In filesObj
Set bookList = Workbooks.Open(everyObj)

Range("A2:IV" & Range("A65536").End(xlUp).Row).Copy

ThisWorkbook.Worksheets(1).Activate

Range("A65536").End(xlUp).Offset(1, 0).PasteSpecial

Application.CutCopyMode = False
bookList.Close
Next
End Sub

2 个答案:

答案 0 :(得分:3)

也许您应该考虑关闭显示警报,以防止出现通知。

你可以通过使用...来关闭它 Application.DisplayAlerts = False

然后继续使用...
Application.DisplayAlerts = True

答案 1 :(得分:0)

就我个人而言,我认为下面的链接中的AddIn更容易使用,它可以处理各种场景,所以我会做你在这里描述的内容,以及其他很多东西。

https://www.rondebruin.nl/win/addins/rdbmerge.htm