Sub 动态字段多薄多表合并为一表()
Dim d, ar, br, sh As Worksheet, cr()
Set d = CreateObject("Scripting.Dictionary")
ThisWorkbook.Sheets.Add
ActiveSheet.Name = "合并结果"
bth = Val(Application.InputBox("请输入 需要的字段名所在的行号:", "默认值", "1"))
Application.ScreenUpdating = False
p = ThisWorkbook.Path & ""
f = Dir(p & "*.xls*")
Do While f <> ""
If f <> ThisWorkbook.Name Then
With Workbooks.Open(p & f)
For Each sh In Sheets
qsl = sh.UsedRange.Column
zdl = sh.UsedRange.Columns.Count + sh.UsedRange.Column - 1
qsh = bth
zdh = sh.Cells(65536, qsl).End(xlUp).Row
If sh.Name <> "合并结果" Then
If zdh > 1 Then
ar = sh.Cells(qsh, qsl).Resize(zdh - qsh + 1, zdl)