|
发表于 2021-9-30 14:30
|
显示全部楼层
本楼为最佳答案
本帖最后由 风林火山 于 2021-9-30 16:04 编辑
- Sub 合并() '先选择一个需要汇总的工作簿,把代码放到这个工作簿模块中,然后在选择其他需要汇总的工作簿(不包括先打开的工作簿)
- Dim arr, brr, crr, k As Byte, m As Byte, n As Byte, wk As Workbook
- ActiveWorkbook.SaveAs ThisWorkbook.Path & "" & "数据汇总.xlsm"
- brr = Range("e7:o28")
- arr = Application.GetOpenFilename("Excel文件,*.xlsx*", 2, , , True)
- If IsArray(arr) = False Then Exit Sub
- For k = 1 To UBound(arr)
- Set wk = Workbooks.Open(arr(k))
- crr = Range("e7:o28")
- For m = 1 To UBound(brr)
- For n = 1 To UBound(brr, 2)
- brr(m, n) = brr(m, n) + crr(m, n)
- Next n
- Next m
- Erase crr
- wk.Close 0
- Set wk = Nothing
- Next k
- Range("e7").Resize(UBound(brr), UBound(brr, 2)) = brr
- End Sub
复制代码 |
|