新建一个汇总表,ALF+F11 打开VBE 新建一个模块 粘贴如下代码, 然后运行此宏
Sub 合并工作簿()
Dim wb As Workbook
Dim sh As Worksheet
Dim tsh As Worksheet
Dim col As Long
Dim i As Long
Set tsh = ThisWorkbook.Sheets(1)
tsh.Cells.Clear
With Application.FileSearch '调用fileserch对象
.NewSearch '开始新的搜索
.LookIn = "D:\360data\重要数据\桌面\新建文件夹" '设置搜索的路径
.SearchSubFolders = True '搜索范围包括 LookIn 属性指定的文件夹中的所有子文件夹
.Filename = "*.xl*" '设置搜索的文件类型
If .Execute() > 0 Then '如果找到文件
For i = 1 To .FoundFiles.Count '在搜索到的文件中循环
Set wb = Workbooks.Open(.FoundFiles(i)) '打开文件
For Each sh In wb.Sheets '在打开的工作簿中循环每个sheet
col = tsh.UsedRange.Columns.Count + tsh.UsedRange.Column '汇总表,表1 当前数据最后一列的列号
sh.UsedRange.Copy tsh.Cells(1, col + 1) '把每个表都复制到 汇总表,表1
Next sh
wb.Close False '关闭打开的工作簿
Next i
Else
MsgBox "没找到文件"
End If
Set wb = Nothing
Set tsh = Nothing
End With
End Sub
注:由于 fileserch对象 只存在于2003版本, 此方法其他高级版本不适用
建议楼主把文件发出来。找人做。
你现在不熟练VBA的很多语法,属性,方法。要教你还不如写给你看。
可以实现,就是你的表格太不规范了。徒增很多代码啊。
关注一下,我也想知道