哪位老师帮助一下合并工作表?
时间:2011-08-09
来源:互联网
谢谢!
附件

2011-8-9 13:25, 下载次数: 13
作者: daqml 发布时间: 2011-08-09

作者: seeme 发布时间: 2011-08-09
作者: daqml 发布时间: 2011-08-09
代码:
Sub zdgx()Dim Arr, myPath$, myName$, sh As Worksheet
Dim m&, funm$, n&, Sht As Worksheet, i&, j&, r1
Application.ScreenUpdating = False
funm = "合并.xls"
For Each Sht In Sheets
Sht.Cells.ClearContents
Next
myPath = ThisWorkbook.Path & "\"
myName = Dir(myPath & "*.xls")
Do While myName <> "" And myName <> funm
With GetObject(myPath & myName)
mm = mm + 1
For Each sh In .Sheets
m = sh.[a65536].End(xlUp).Row - 1
nm = sh.Name
If mm = 1 Then
Sheets(nm).[a1] = nm
Arr = sh.Range("a2:e" & m)
Sheets(nm).Cells(2, 1).Resize(UBound(Arr), 5) = Arr
Else
Arr = sh.Range("a3:e" & m)
For i = 1 To UBound(Arr)
Set r1 = Sheets(nm).[a:a].Find(Arr(i, 1), , , 1)
If Not r1 Is Nothing Then
For j = 2 To 5
Sheets(nm).Cells(r1.Row, j) = Sheets(nm).Cells(r1.Row, j) + Arr(i, j)
Next
Else
n = Sheets(nm).[a65536].End(xlUp).Row + 1
For j = 1 To 5
Sheets(nm).Cells(n, j) = Arr(i, j)
Next
End If
Next
End If
Next
.Close False
End With
myName = Dir
Loop
For Each Sht In Sheets
m = Sht.[a65536].End(xlUp).Row + 1
Sht.Cells(m, 1) = "Total:"
Sht.Cells(m, 2).Formula = "=sum(r3c:r[-1]c)"
Sht.Cells(m, 2).AutoFill Sht.Cells(m, 2).Resize(1, 4)
Next
Application.ScreenUpdating = True
End Sub
作者: 蓝桥玄霜 发布时间: 2011-08-09
附件

2011-8-9 14:23, 下载次数: 4
作者: 蓝桥玄霜 发布时间: 2011-08-09
作者: daqml 发布时间: 2011-08-09
引用:
原帖由 蓝桥玄霜 于 2011-8-9 14:23 发表请见附件。
如果增加了列,不能合并,我不会改。
附件

2011-8-9 22:46, 下载次数: 0
作者: daqml 发布时间: 2011-08-09
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28