大家好,欢迎来到IT知识分享网。
幸福,由心不由境。不管遇到什么,都是一个风景。莫以小善而不为,莫以恶小而为之。心善则美,心纯则真。怀善心,做善事,一生无愧。怀平常心,做平常事,日夜安宁。把浮躁的心静下来,去感悟真实的时间,静下心,常存感恩之心,做善事,一生无愧。怀平常心,做平常事,日夜安宁。人之欲望不止,一山还比一山高,岂能如愿?看淡纷争,看轻得失,心安即是归处。一杯茶,满也好,少也好,不要计较其间;浓也好,淡也好,其中自有值得品的味道。逆境时多学习,积累的就是福报,多学习,积累的就是财富。保持快乐的心态,坚定且执着。去学习有用的知识,经营自己,而不是天天混日子,也不是天天熬日子。静下心,为后疫情时代做知识的储备。后疫情时代将会是一个全新的世界。在今后更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。为后疫情时代做的必要准备。
什么是存量残杀?简单而言,在取代OFFICE新的办公软件没有到来之前,谁能把应用做到最为先进,谁就是王者。其中登峰至极的技能非VBA莫属!
今日继续和大家分享VBA编程中常用的常用”积木”过程代码。这些内容大多是我的经验的记录,来源于我多年的经验。最近代码多是出自”VBA数组与字典解决方案”教程,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读。今日分享的是第276期。
VBA过程代码276:利用字典和数组,进行数据的分类模糊汇总
Sub MyNZ ()
Dim myDic(3)
Sheets(“46”).Select
‘定义三个字典用来装要分类的三种数据
Set myDic(1) = CreateObject(“Scripting.Dictionary”)
Set myDic(2) = CreateObject(“Scripting.Dictionary”)
Set myDic(3) = CreateObject(“Scripting.Dictionary”)
‘一次性装入源数据
myarr = Range(“a2:b” & Range(“a2”).End(4).Row)
Range(“d2:k” & Range(“a2”).End(4).Row).ClearContents
‘将条件装入数组
mybrr = Array(“W”, “H”, “T”)
‘分类汇总
For i = 1 To UBound(mybrr) + 1
For x = 1 To UBound(myarr)
If InStr(myarr(x, 1), mybrr(i – 1)) > 0 Then
myDic(i)(myarr(x, 1)) = myDic(i)(myarr(x, 1)) + myarr(x, 2)
End If
Next
Next
‘回填数据
mycrr = Array(myDic(1).keys, myDic(1).items)
Range(“d2”).Resize(myDic(1).Count, 2) = Application.Transpose(mycrr)
mycrr = Array(myDic(2).keys, myDic(2).items)
Range(“g2”).Resize(myDic(2).Count, 2) = Application.Transpose(mycrr)
mycrr = Array(myDic(3).keys, myDic(3).items)
Range(“j2”).Resize(myDic(3).Count, 2) = Application.Transpose(mycrr)
‘释放字典内存
Set myDic(1) = Nothing
Set myDic(2) = Nothing
Set myDic(3) = Nothing
End Sub
代码讲解: 上述过程中实现了将源数据的模糊分类汇总,最后将数据回填到结果区域.定义三个字典用来装要分类的三种数据,这三个字典的名称是一个数组,这样处理的好处可以在我后面的代码中体现,用一次循环就可以完成需求.将源数据装入了数组,清空了待填的数据区域.代码中应用了一个嵌套循环来完成目的,内层循环实现了数据汇总,外层循环实现了数据分类,分类标准是在源数据中是否有条件的字符存在.INSTR是判断的函数。这里大家要注意我先把keys, items要先装入一个数组,然后再转置回填.大家留意代码的写法,如果你没有确切的把握,类似问题要按照给出代码进行.虽然数组操作比SQL简单些,但也要尽可能的去复制和修正代码,而不是自己另辟蹊径
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进行数据统计真的非常实用,希望大家掌握这个工具,利用这个工具,让自己轻松,高效,快乐的工作。我的”积木编程”思想也是值得大家借鉴的,这种思想让大家在代码中解脱出来,成模块的构建自己的应用,提高自己的编程效率。根据我提供的经验,利用时间多学习。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/48434.html