Sub 合并()
Application.ScreenUpdating = False
Dim sh As Worksheet, arr, brr(0 To 65535, 1 To 255)
Dim d As Object, i&, j&, m&, n&, f&, c As Range
Set d = CreateObject("scripting.dictionary")
d("部门名称") = 1
brr(0, 1) = "部门名称"
n = 1
For Each sh In Worksheets
If sh.Name <> "汇总" Then
sh.Select
Set c = sh.Cells.Find("部门名称", , , 1)
arr = c.Resize(c.CurrentRegion.Rows.Count, c.CurrentRegion.Columns.Count)
f = c.Row
For j = 1 To UBound(arr, 2)
If Not d.Exists(arr(1, j)) And arr(1, j) <> "" Then
n = n + 1
d(arr(1, j)) = n
brr(0, n) = arr(1, j)
End If
Next
For i = 2 To UBound(arr)
m = m + 1
brr(m, 1) = arr(i, 1)
For j = 2 To UBound(arr, 2)
If arr(1, j) <> "" Then brr(m, d(arr(1, j))) = arr(i, j)
Next
Next
End If
Next
Sheets("汇总").Select
Cells.ClearContents
[a1].Resize(m + 1, n + 1) = brr
Application.ScreenUpdating = True
End Sub