vba ado效率低吗_VBA数组与字典,数据单条件匹配之方法

d8a0b9d78073a5b0537ee9869c85736d.png

浮躁的心静下来,静定“空”心,去感悟真实的时间,静下心,常存感恩之心,做善事,一生无愧。怀平常心,做平常事,日夜安宁。人之欲望不止,一山还比一山高,岂能如愿?看淡纷争,看轻得失,心安即是归处。一杯茶,满也好,少也好,不要计较其间;浓也好,淡也好,其中自有值得品的味道。逆境时多学习,积累的就是福报,多学习,积累的就是财富。保持快乐的心态,坚定且执着。去学习有用的知识,经营自己,而不是天天混日子,也不是天天熬日子。不管现实有多残忍,我们都要固执地相信,只要顽强的前行,一切阴霾都会吹散在风中。静下心,为后疫情时代做知识的储备。后疫情时代将会是一个全新的世界。在今后更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。为后疫情时代做的必要准备。

什么是存量残杀?简单而言,在取代OFFICE新的办公软件没有到来之前,谁能把应用做到最为先进,谁就是王者。其中登峰至极的技能非VBA莫属!

今日继续和大家分享VBA编程中常用的常用“积木”过程代码。这些内容大多是我的经验的记录,来源于我多年的经验。最近代码多是出自”VBA数组与字典解决方案”教程,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读。今日分享的是第272期。

1167c14dd70571ac5b56271d2ffeef44.png

VBA过程代码272:利用字典,进行单条件匹配查询

Sub MyNZ ()

Dim mydic, myarr

Sheets("42").Select

Set mydic = CreateObject("scripting.dictionary")

'将数据放入数组

myarr = Sheets("42").[a1].CurrentRegion

For i = 2 To UBound(myarr)

'这里字典的值,用的是array数组,方便我们匹配多个数据

mydic(myarr(i, 1)) = Array(myarr(i, 2), myarr(i, 3), myarr(i, 4))

Next

'根据查询的基准,在相应的位置回填键值

For i = 2 To Sheets("42").Cells(1, "g").End(xlDown).row

Sheets("42").Cells(i, "h").Resize(1, 3) = mydic(Cells(i, "g").Value)

Next

'释放内存

Set mydic = Nothing

End Sub

代码讲解:上面的代码实现了单条件查询的具体应用。可以很快的按照要求在源数据中查找到相应的值。mydic(myarr(i, 1)) = Array(myarr(i, 2), myarr(i, 3), myarr(i, 4))代码仍采用了键值是数组的形式,键是A列的数据,键值是后面三列数据的数组。 Sheets("42").Cells(i, "h").Resize(1, 3) = mydic(Cells(i, "g").Value)在字典中直达相应的键,把键值放到相应的位置。

e0ba89a924324dfd55371890cac17d17.png

VBA是利用Office实现自己小型办公自动化的有效手段.我根据自己20多年的VBA实际利用经验,现在推出了四部VBA学习教程,也是我“积木编程”思想的具体体现。

第一:VBA代码解决方案,是VBA中各个知识点的讲解,这部教程可以覆盖绝大多数的知识点;

第二:VBA数据库解决方案,是数据处理的专业利器,详细的介绍了利用ADO连接ACCDB和EXCEL的方法和实例操作。

第三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。字典是VBA代码水平提高的手段,值得深入的学习。

第四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。

上述教程的学习顺序,1,3,2或者是4,3,2逐渐深入的了解VBA掌握VBA.目前正在集中精力写第五部教程:VBA中类的解读和利用,希望在年内能陆续在各个平台和大家见面。

利用VBA进行数据统计真的非常实用,希望大家掌握这个工具,利用这个工具,让自己轻松,高效,快乐的工作。我的“积木编程”思想也是值得大家借鉴的,这种思想让大家在代码中解脱出来,成模块的构建自己的应用,提高自己的编程效率。根据我提供的经验,利用时间多学习。

28262b1023d6dc5b787407b4cbd5c949.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值