ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 根据汇总表D列的(班级)匹配到对应表名,并且根据第1行的抬头

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-5-15 12:49 | 显示全部楼层
2020年春季收费 - 副 - 副本.zip (59.25 KB, 下载次数: 3)

凑了一个!
汇总表中的校车改成了车费,汇总表中无金额变化的人员未作处理,有金额变化的人员缴费日期及发票号也未作处理!
这种没有模拟数据靠猜来解决有点麻烦!!

TA的精华主题

TA的得分主题

发表于 2020-5-15 12:56 | 显示全部楼层


2020年春季收费 -.zip (59.23 KB, 下载次数: 19)

凑了一个!汇总表中金额没有变化的人员未作处理!!

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2020-5-15 12:58 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
汇总表中的校车改成了车费!汇总表中的缴费日期及发票号也不知道你要怎么处理?

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-15 14:48 | 显示全部楼层
笨鸟飞不高 发表于 2020-5-15 12:56
凑了一个!汇总表中金额没有变化的人员未作处理!!

1. d(ws.Name & "|" & arr(i, 3)) = ""
2. If Not d.exists(arr(i, 4) & "|" & arr(i, 3))
3.For i = 2 To UBound(arr)
        For j = 5 To UBound(arr, 2)
            If arr(i, j) > 0 Then
                sr = arr(i, 4) & "|" & arr(i, 3) & "|" & arr(1, j)
                d(sr) = arr(i, j)
请问这3点能给我解释一下吗,可以新增一条如果修改过,要标黄Interior.Color =vbyellow

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-15 20:47 | 显示全部楼层
笨鸟飞不高 发表于 2020-5-15 12:58
汇总表中的校车改成了车费!汇总表中的缴费日期及发票号也不知道你要怎么处理?

降汇总表的B列票据号复制到表名S列票据号里面,缴费日期可以不用理,修改过的附件我重新上载,麻烦您帮忙看看谢谢,

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-15 20:48 | 显示全部楼层
新附件,谢谢

2020年春季收费 -.zip

62.35 KB, 下载次数: 8

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-16 11:28 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-16 16:13 | 显示全部楼层
笨鸟飞不高 发表于 2020-5-15 12:58
汇总表中的校车改成了车费!汇总表中的缴费日期及发票号也不知道你要怎么处理?

想请教一下,如果汇总表跟其他的表都多加了一个列标题,那么要修改哪一段壳子,才能使其能够将数据复制对应位置呢?
Sub AwTest()
    Dim i%, j%, iRow%, s&, sr$, ws As Worksheet, arr, d As Object
    Set d = CreateObject("Scripting.Dictionary") '创建字典对象,并把字典对象赋给变量d。这是最常用的一句代码。所谓的“后期绑定”。用了这句代码就不用先引用c:\windows\system32\scrrun.dll了
    For Each ws In Sheets
        If ws.Name <> "汇总表" Then
            arr = ws.[a1].CurrentRegion '本示例假定在工作表 Sheet1 中有一个包含标题行的表。本示例选定该表,但不选定标题行
            For i = 2 To UBound(arr)
                d(ws.Name & "|" & arr(i, 3)) = ""
            Next
        End If
    Next
    arr = Sheets("汇总表").[a1].CurrentRegion
    For i = 2 To UBound(arr)
        If Not d.exists(arr(i, 4) & "|" & arr(i, 3)) Then 'arr(i, 4)/arr(i,3)值 的内容不存在D字典中”,那么执行下面的语句
            For Each ws In Sheets
                If ws.Name = arr(i, 4) Then '如果D列班级等于表名,然后
                    iRow = ws.Cells(Rows.Count, 3).End(3).Row '整体意思是第三列姓名最后一个有数据的行的行号
                    For j = 1 To 4
                        ws.Cells(iRow + 1, j) = arr(i, j) '如果没有则新建一行等于新数组
                    Next
                End If
            Next
        End If
    Next
    For i = 2 To UBound(arr) '第2行到最后一行
        For j = 5 To UBound(arr, 2)
            If arr(i, j) > 0 Then '如果(arr(i, 1))单元格的内容长度大于0
                sr = arr(i, 4) & "|" & arr(i, 3) & "|" & arr(1, j)
                d(sr) = arr(i, j) '就将arr(i, 1))单元格的内容做为关建字加入字典
            End If
        Next
    Next
    For Each ws In Sheets
        If ws.Name <> "汇总表" Then
            arr = ws.[a1].CurrentRegion
            For i = 2 To UBound(arr)
                s = 0
                For j = 5 To 13 'E-N列
                    sr = ws.Name & "|" & arr(i, 3) & "|" & arr(1, j)
                    If d.exists(sr) Then arr(i, j) = d(sr)
                    s = s + arr(i, j)
                    arr(i, 14) = s
                    arr(i, 17) = arr(i, 14) - arr(i, 15)
                Next
            Next
            ws.[a1].CurrentRegion = arr
        End If
    Next
End Sub

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-16 19:02 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
急!!!!!

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-5-17 15:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
有大神能否解决一下这个问题,汇总表增加了列标题,附表也增加相同标题,为什么就复制不过去呢,请问要怎么修改,修改哪段壳子呢,谢谢
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 12:25 , Processed in 0.043267 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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