ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

急!求VBA数组 字典优化程序(附件运行需40多分钟,还不及Sumif)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2015-1-21 18:54 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
看不明,为啥要将所有东东放到一个ds里面?

尤其函数2里面

nL = ds(Left(Brr(i, 3), 4))
nR = ds(Brr(i, 1) & Brr(i, 2))

真心看不明。

TA的精华主题

TA的得分主题

发表于 2015-1-21 19:49 | 显示全部楼层
seiyasam 发表于 2015-1-21 18:54
看不明,为啥要将所有东东放到一个ds里面?

尤其函数2里面


下图有两个表,底层的是原始数据,上层的是统计结果。
如何将原始数据累加,要考虑一个问题就是,这个数据加到目标表中的哪一行?哪一列?
ds是一个字典,字典是本帖的主题词,关键词。本例中用字典保存和查找数据所在行和列的位置。
在程序中用字典保存和查找数据,可以简化程序,提高速度。
论坛中很多关于字典的实例和教程,如有兴趣,慢慢去学习。

QQ截图20150121194237.png

字典教程:正松舒,慢匀稳——太极字典少年班


TA的精华主题

TA的得分主题

发表于 2015-1-22 10:23 | 显示全部楼层
山菊花 发表于 2015-1-21 19:49
下图有两个表,底层的是原始数据,上层的是统计结果。
如何将原始数据累加,要考虑一个问题就是,这个 ...

好的,不过有点建议,其实也是对很多做程序的同学,不要老是把变量写成什么1,2,3,i,j,k,a,b,c之类的,其实这样会降低代码可读性。有时可能写的那个人很有水准,但基本的东西如果弄好点,就更好了。例如目标表可否就命名为target_table,或者target_XXX之类的,看起来会舒服很多。希望各位也可以看到我这个留言,谢谢。

TA的精华主题

TA的得分主题

发表于 2015-1-22 10:50 | 显示全部楼层
这个问题不重要,这个建议也不会改变他人。其实程序最终是写给自己看的,只要自己能看懂就行。每个人的文化、习惯不同,会影响代码的编写风格,会选择如何去写代码,也注定了如何写代码。你看target_table很直观,而我看得却很累,要一个字母一个字母去念,念完之后又忘记了,不如一个t。
在论坛回复帖子,代码中添加一些注释文字是好的。
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-17 11:53 , Processed in 0.039934 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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