ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1090|回复: 8

[求助] 帮忙修改代码,谢谢

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-8-2 17:45 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
要求1.横向标题按照数据汇总表的实际情况自动更新
     2.姓名那一列按照实际要求自动更新人数,将新增姓名行
     3.将每个表中的数据汇总累计相加到对应位置
     
Sub 2()
Dim i%, j%
Dim sht As Worksheet
For Each sht In Sheets
If sht.Name <> "数据汇总" Then

    Application.CutCopyMode = False

    Selection.Consolidate Sources:=Array( _
      
"'C:\Users\MBENBEN\Desktop\[工资 - 副本.xlsx]20191月工资小学'!R1C2:R14C24", _
        "'C:\Users\MBENBEN\Desktop\[
工资 - 副本.xlsx]20191月工资中学'!R1C2:R14C24", _
        "'C:\Users\MBENBEN\Desktop\[
工资 - 副本.xlsx]201911月工资小学'!R1C2:R14C24", _
        "'C:\Users\MBENBEN\Desktop\[
工资 - 副本.xlsx]201911月工资中学'!R1C2:R14C24", _
        "'C:\Users\MBENBEN\Desktop\[
工资 - 副本.xlsx]201912月工资小学'!R1C2:R14C24", _
        "'C:\Users\MBENBEN\Desktop\[
工资 - 副本.xlsx]201912月工资中学'!R1C2:R14C24"), Function _
        :=xlSum, TopRow:=True,LeftColumn:=True, CreateLinks:=False
   End If
   
End Sub

以上代码套用数据合并的壳子,但是标红色的不知道要怎么修改成在每个表对中已用行数,特定列数for j =2 to 23进行汇总

工资 - 副本.zip

179.92 KB, 下载次数: 10

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-2 20:19 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-8-2 20:56 | 显示全部楼层
合并计算方法,仅供参考。。。

工资 - 副本.rar

189.25 KB, 下载次数: 44

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-2 22:56 | 显示全部楼层
wodewan 发表于 2020-8-2 20:56
合并计算方法,仅供参考。。。

Sub test()
Dim sht As Worksheet, ar(), m, erow
For Each sht In Sheets
    With sht
        If .Name <> "数据汇总" And .Visible = -1 Then想请教一下,这句代码是不是可见才进行合并,非可见不考虑?
            erow = .Range("b65536").End(3).Row
            m = m + 1: ReDim Preserve ar(1 To m)
            ar(m) = .Name & "!" & .Range("b1:x" & erow).Address(ReferenceStyle:=xlR1C1)这句我不是很懂,想请教一下什么意思呢?谢谢
        End If
    End With
Next
    With Sheets("数据汇总").Range("a1")
        .CurrentRegion.ClearContents
        .Value = "姓名"
        .Consolidate Sources:=ar, Function:=xlSum, TopRow:=True, LeftColumn:=True
    End With
End Sub

TA的精华主题

TA的得分主题

发表于 2020-8-2 23:30 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
sulli112 发表于 2020-8-2 22:56
Sub test()
Dim sht As Worksheet, ar(), m, erow
For Each sht In Sheets

1.第一句就是你说的那个意思
2.第二句相当于遍历每个表需要合并计算的区域的绝对地址,赋值给一个一维数组ar,因为合并计算的Source接受的就是这个ar,相当于你原先代码Consolidate Sources:后你标红的那一段Array(......)

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-8-3 08:48 | 显示全部楼层
wodewan 发表于 2020-8-2 23:30
1.第一句就是你说的那个意思
2.第二句相当于遍历每个表需要合并计算的区域的绝对地址,赋值给一个一维数 ...

好的,谢谢啦

TA的精华主题

TA的得分主题

发表于 2022-3-31 10:18 | 显示全部楼层
wodewan 发表于 2020-8-2 20:56
合并计算方法,仅供参考。。。

收藏了,经典

TA的精华主题

TA的得分主题

发表于 2022-3-31 10:20 | 显示全部楼层
wodewan 发表于 2020-8-2 20:56
合并计算方法,仅供参考。。。

收藏了,经典。
数据源在文件夹内,能如此汇总吗?

TA的精华主题

TA的得分主题

发表于 2022-4-24 22:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
wodewan 发表于 2020-8-2 20:56
合并计算方法,仅供参考。。。

带合并单元格的表头,能汇总吗

工资 - 合并单元格表头.rar

108.56 KB, 下载次数: 7

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-17 09:44 , Processed in 0.040029 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表