
批量合并表格Sheet的代码
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本代码提供了一种高效方法用于批量合并Excel文件中的多个工作表(Sheet),适用于数据处理和分析场景。
以下是Excel VBA代码用于批量合并多个工作表的内容:
```vba
Sub 多表合并()
Dim f$, p$
Dim a, s As Variant
Application.ScreenUpdating = False 关闭屏幕刷新
Sheet1.UsedRange.Offset(1).ClearContents 清除当前Sheet已用区域整体下移一行的数据内容
p = ThisWorkbook.Path & \
f = Dir(p & *.xls)
Do While Len(f) > 0
If f <> ThisWorkbook.Name Then
With Workbooks.Open(p & f)
a = .Sheets(1).Range(A2:K & .Sheets(1).[a65536].End(xlUp).Row) 读取目标文件的范围(从 A2 到 K 最大行)
s = Split(f, .)(0)
.Close SaveChanges:=False
End With
With Sheet1
.Range(A & .[a65536].End(xlUp).Row + 1).Resize(UBound(a), UBound(a, 2)) = a 将读取的内容粘贴到当前工作表中
.Range(L & .[l65536].End(xlUp).Row + 1) = s 在H列写入文件名
End With
End If
f = Dir() 继续查找下一个文件
Loop
Application.ScreenUpdating = True 重新开启屏幕刷新
End Sub
```
这段代码的主要功能是通过遍历当前目录下的所有.xls格式的Excel工作簿,逐个读取每个工作簿的第一个Sheet中的指定范围的数据(从A2到K列的最大行),然后将这些数据合并粘贴到活动的工作表中,并在H列添加文件名以标识来源。
全部评论 (0)


