人之欲望不止 , 一山还比一山高,岂能如愿?看淡纷争,看轻得失,心安即是归处 。如喝茶,是一种心情,也是一种心境 。手执香茗,心素如简 。观浮沉人生 , 看清凉世界!不去争,心胸开阔一点;不去争,得失看轻一点;不去争,功利心淡一点 。一杯茶,满也好,少也好,不要浪费时间;浓也好,淡也好 , 其中自有值得品的味道 。逆境时多学习,积累的就是福报,谷底时多学习 , 积累的就是财富 。走的路越远,心就会越宽;遇见的人越多,就会发现世界就越大 。保持快乐的心态,坚定且执着 。有时间要学会去学习有用的知识,经营自己,而不是天天混日子,也不是天天熬日子 。不管现实有多残忍,我们都要固执地相信 , 只要顽强的前行,一切阴霾都会吹散在风中 。静下心,多学习有用的知识,为后疫情时代做知识的储备 。后疫情时代将会是一个全新的世界,我们每个人,要尽可能多的学习有用的知识,为自己充电 。在今后更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备 。为后疫情时代做的必要准备 。
什么是存量残杀?简单而言,在取代OFFICE新的办公软件没有到来之前 , 谁能把应用做到最为先进 , 谁就是王者 。其中登峰至极的技能非VBA莫属!
今日继续和大家分享VBA编程中常用的常用"积木"过程代码 。这些内容大多是我的经验的记录,来源于我多年的经验 。最近代码多是出自"VBA数组与字典解决方案"教程,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读 。今日分享的是第270期 。
VBA过程代码270:利用数组作为键值,一方面实现快速排重,一方面实现数据回填的迅速
Sub MyNZ ()
Dim myarr, myDic As Object
'将数据放入数组
myarr = Sheets("40").[a1].CurrentRegion
Set myDic = CreateObject("scripting.dictionary")
For i = 1 To UBound(myarr)
myDic(myarr(i, 1)) = "" '初始化字典
Next i
'将数据赋值入字典
For i = 1 To UBound(myarr)
If myDic.exists(myarr(i, 1)) Then myDic(myarr(i, 1)) = Array(myarr(i, 1), myarr(i, 2), myarr(i, 3))
Next i
'清空工作表区域
Sheets("40").[e:g].Cells.Clear
'将字典数据回填到工作表
Sheets("40").[e1].Resize(myDic.Count, 3) = Application.Transpose(Application.Transpose(myDic.items))
End Sub
代码的讲解:上述语句实现了将源数据按A列进行排重处理,排重后的数据回填到工作表中 。If myDic.exists(myarr(i, 1)) Then myDic(myarr(i, 1)) = Array(myarr(i, 1), myarr(i, 2), myarr(i, 3)) 是给键赋值,这个时候我们只要给键赋值即可 , 需要注意的是,赋的值是数组Array(),也就是说 , 键值可以为数组 。这里的数组是一个一维的数组 。Sheets("40").[e1].Resize(myDic.Count, 3) = Application.Transpose(Application.Transpose(myDic.items))
上述代码将数据回填到工作表中,这里用了一个两次的转置实现的这个目的 。
VBA是利用Office实现自己小型办公自动化的有效手段.我根据自己20多年的VBA实际利用经验 , 现在推出了四部VBA经验学习资料,也是我"积木编程"思想的具体体现 。
一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点;
二:VBA数据库解决方案,是数据处理的专业利器,介绍利用ADO连接ACCDB,EXCEL 。
三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用 。
四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能 。
目前正在写第五部教程:VBA中类的解读和利用,希望在年内能陆续在各个平台和大家见面,前些时在平台上发表了一事件响应的视频录屏 , 反响还是不错的,这个视频就是类的应用经典 。
【神奇的VBA字典,实现数据快速排重和快速回填】利用VBA进行数据统计真的非常实用,希望大家掌握这个工具,利用这个工具,让自己轻松,高效,快乐的工作 。学习有用的知识 , 让健康的知识服务于大众,不劳而获,偷奸取巧 , 是不能获得有用的知识的,只有踏踏实实,沉下心,点滴起步,为后疫情时代做好知识的储备 。我的目的是授人以渔 , 给大家提供我现成的经验,你可以借鉴到现成的经验,不偷着乐还更待何时?