Sub 合并工作簿()
Dim tbook As Workbook, book As Workbook, sth As Worksheet
Set tbook = ActiveWorkbook
With Application.FileDialog(msoFileDialogFolderPicker)
.Title = "请选择要汇总的工作薄所在文件夹"
If .Show = -1 Then
Filename = .SelectedItems(1)
End If
End With
c = Application.InputBox("请输入表头行数", , 2, , , , 1)
k = 0
f = Dir(Filename & "\")
Do While f <> ""
Workbooks.Open Filename & "\" & f
Set book = ActiveWorkbook
For Each sth In book.Worksheets
k = k + 1
l = tbook.Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
If k = 1 Then
sth.UsedRange.Copy tbook.Worksheets(1).Cells(1, 1)
Else
sth.UsedRange.Offset(c, 0).Copy tbook.Worksheets(1).Cells(l + 1, 1)
End If
Next sth
f = Dir()
ActiveWorkbook.Close savechanges:=False
Loop
End Sub
新建一个工作簿,把代码复制到VBA里运行,此方法不能把合并后的工作表与要合并的文件放在同一目录下。
联系客服