Excel多个工作表合并至一个工作表!

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(1)

效果如下所示:

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(2)

要求汇总至一个工作表

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(3)

1多个工作表

表一数据:

姓名定位性别程咬金坦克男刘禅坦克男墨子坦克男亚瑟坦克男钟无艳坦克女

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(4)

表二数据:

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(5)

表三数据:

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(6)

2传统方法:

使用ALT+D+P功能的多重合并计算,但是在添加字段时,如果存在100张表格,那么这种方法的效率是极低的

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(7)

3VBA代码

那么只需要使用VBA方法,就能轻松快速的解决,如果你的字段不是3个,那么仅需将下面字段中的标红位置进行相应修改即可!

怎么合并excel多个工作表(Excel多个工作表快速合并至一个工作表)(8)

VBA代码

Sub 多表合并()

Dim arr()

For Each sh In Sheets

If sh.Name <> "汇总" Then

arr1 = sh.Range("a2:c" & sh.UsedRange.Rows.Count)

act = act + UBound(arr1)

ReDim Preserve arr(1 To 3, 1 To act) '

For j = 1 To UBound(arr1)

n = n + 1

arr(1, n) = arr1(j, 1)

arr(2, n) = arr1(j, 2)

arr(3, n) = arr1(j, 3)

Next

End If

Next

Sheets("汇总").[a2].Resize(n, 3) = Application.Transpose(arr)

End Sub

将文件另存为xlsm格式,要不然重新打开文件时这段代码就消失了!