同一个文件夹下,不同文件名的excel表批量导入在一张新表中
发布网友
发布时间:2023-07-04 06:26
我来回答
共3个回答
热心网友
时间:2023-10-02 07:55
同目录下新建一个excel文件,输入如下vba代码,运行。
Sub 合并工作簿()
Dim f As String, wb As Workbook, th As Workbook, h%, l%, m% ', hh%, lh%
Dim wbsh As Worksheet, thsh As Worksheet
Set th = ThisWorkbook
Set thsh = th.Sheets(1)
m = 1
Application.ScreenUpdating = False '关闭刷屏
Application.DisplayAlerts = False '关闭警告和消息
f = Dir(th.Path & "\*.xls") '获取文件夹地址 许同一个版本:xls
Do While f > " "
If f <> th.Name Then '判断文件是否是本工作簿
Set wb = Workbooks.Open(th.Path & "\" & f)
Set wbsh = wb.Sheets(1) '合并第一个工作表数据
h = wbsh.Cells.SpecialCells(xlCellTypeLastCell).Row '源数据最大行号
l = wbsh.Cells.SpecialCells(xlCellTypeLastCell).Column '原数据最大列号
wbsh.Range(wbsh.Cells(1, 1), wbsh.Cells(h, l)).Copy _
Destination:=thsh.Range(thsh.Cells(m, 1), thsh.Cells(m + h - 1, l))
m = m + h
wb.Close
End If
f = Dir
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
热心网友
时间:2023-10-02 07:56
VB就可以解决这个问题,关键是你的各个表的结构,主要是列数,这样就容易了,如果不知道表格的结构,也没有关系,但不行要你的具体表,应该问题不是太大。
热心网友
时间:2023-10-02 07:56
要用VBA代码才能解决。