新建一个EXCEL,运行此代码,将需合并的文件选中即可
Sub CombineWorkbooksrange()
Dim FilesToOpen, ft
Dim x As Integer
Application.ScreenUpdating = False
On Error GoTo err
FilesToOpen = Application.GetOpenFilename("Excel文件(*.xls & *.xla & *.xlt *.xlsx *.xlsb),*.xls;*.xla;*.xlt;*.xlsx;*.xlsb", MultiSelect:=True, Title:="要合并的文件")
If TypeName(FilesToOpen) = "boolean" Then
MsgBox "没有选定文件"
GoTo err
End If
x = 1
While x - 1 < UBound(FilesToOpen)
Set wk = Workbooks.Open(Filename:=FilesToOpen(x))
For i = 1 To wk.Sheets.Count
If wk.Sheets(i).Name = "1" Then
Set xlra = wk.Sheets("1").[C5]
Else
Set xlra = wk.Sheets(i).[C5]
End If '注意,引号内的1就是你要的相同工作表名,如果工作表名无要求,则继续,取单元格数值,现在是取C5
Sheet1.Range("a65500").End(xlUp).Offset(1, 0) = xlra
Next
x = x + 1
wk.Close
Wend
MsgBox "合并成功完成!"
err:
End Sub
追问

卡到这儿了
没法选择Excel文件
好像识别不出来
追答运行后的文件打开对话框出来了么?
追问
运行以后会弹出一堆的这个
然后要一个一个的关掉
但是最后结果还是出不来
运行完还是没有任何数据
追答识别那句代码被标红了,照片看不清楚,能用截屏么?
正常应该是这样的

追问您有邮箱么,我发给您看一下吧
追答陆捌447伍伍一,Q邮箱