Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2912|回复: 5

[已解决]工作表更新问题

[复制链接]
发表于 2014-10-30 22:50 | 显示全部楼层 |阅读模式
bb.rar (9.02 KB, 下载次数: 7)
发表于 2014-10-31 04:13 | 显示全部楼层
如果仅仅是统计人数,用公式就行了
  1. Sub Macro1()
  2. Dim arr, brr, d, i&, zf$$
  3. Set d = CreateObject("scripting.dictionary")
  4. arr = Range("a1").CurrentRegion
  5. brr = Sheets("数据表").Range("a1").CurrentRegion
  6. For i = 2 To UBound(brr)
  7.     zf = brr(i, 4) & "," & brr(i, 6)
  8.     d(zf) = d(zf) + 1
  9. Next
  10. For i = 3 To UBound(arr)
  11.     zf = arr(i, 2) & "," & arr(i, 3)
  12.     arr(i, 4) = d(zf)
  13. Next
  14. Range("d1").Resize(UBound(arr)) = Application.Index(arr, 0, 4)
  15. End Sub
复制代码
回复

使用道具 举报

 楼主| 发表于 2014-10-31 08:30 | 显示全部楼层
dsmch 发表于 2014-10-31 04:13
如果仅仅是统计人数,用公式就行了

谢谢dsmch老师,如果统计表中存在数据表中没有的数据,当用您的代码时会清除掉第4列的数据,能否再修改下代码!
比如在统计表中加一个单位G,人数设为6。运行时会删除后面的数据。能否只修改数据表中有的数据!谢谢您!

点评

用附件说明问题  发表于 2014-10-31 08:57
回复

使用道具 举报

 楼主| 发表于 2014-10-31 09:08 | 显示全部楼层
dsmch 发表于 2014-10-31 04:13
如果仅仅是统计人数,用公式就行了

aa - 副本.rar (11.8 KB, 下载次数: 1)
回复

使用道具 举报

发表于 2014-10-31 09:18 | 显示全部楼层    本楼为最佳答案   
数据表发生变化,统计表为当前工作表,自动执行代码

aa - 副本.rar

13.95 KB, 下载次数: 17

回复

使用道具 举报

 楼主| 发表于 2014-10-31 10:47 | 显示全部楼层
心灵之舞 发表于 2014-10-31 09:08
谢谢了,如果要实实更新,能否写成工作表变化事件!谢谢了

谢谢dsmch老师,向您学习了!
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 17:48 , Processed in 0.269812 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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