去除器

利用VBA代码在数组中进行排重VBA语

发布时间:2024/9/17 12:21:19   
全球股市震荡,市场信心不足,欧美股市熔断频发,后疫情时代将终将演绎一场战胜萧条的战役。无论怎样,我们一定要坚信,疫情终将会过去,曙光一定会到来。后疫情时代将会是一个全新的世界,很多理念都将被打破,大多数人不会再享受体制内的保护,对于我们每个人,要尽可能多的学习有用的知识,为自己充电。在今后更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。为后疫情时代做的必要准备。什么是存量残杀?简单而言,在取代OFFICE新的办公软件没有到来之前,谁能把应用做到最为先进,谁就是王者。其中登峰至极的技能非VBA莫属!今日继续和大家分享VBA编程中常用的常用“积木”过程代码。这些内容大多是我的经验的记录,来源于我多年的经验。当前的代码多是出自”VBA数组与字典解决方案”,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读。今日分享的是NO.,内容是:VBA过程代码:利用数组排重的方法SubMyNZ()DimSplarr()AsStringDimArr()AsStringDimTemp()AsStringDimrAsIntegerDimiAsIntegerOnErrorResumeNextSplarr=Split(Sheets(22).Range(a1),)Fori=0ToUBound(Splarr)Temp=Filter(Arr,Splarr(i))IfUBound(Temp)0Thenr=r+1ReDimPreserveArr(1Tor)Arr(r)=Splarr(i)EndIfNextSheets(22).Range(a5).Resize(r,1)=Application.Transpose(Arr)EndSub代码解析:MySplitarr过程将工作表Sheets(22)中A1单元格的文本去除重复值后写入到工作表Sheets(22)中的A列单元格。代码中利用数组Splarr用来保存Sheets(22)中A1单元格的文本。用数组Arr用来保存去除重复值后的文本。用于数组Temp用来判断文本是否重复。用变量r用来保存去除重复值后的文本数量。代码使用Split函数以Sheets(22)中A1单元格的文本创建一个下标从零开始的一维数组。使用For...Next语句遍历数组Splarr的所有元素。使用Filter函数创建一个数组Temp用来保存以当前Splarr数组的值在Arr数组中的搜索结果。根据返回的数组Temp的最大下标来判断当前Splarr数组的值是否重复。在使用使用Filter函数时如果没有相匹配的值,将返回一个空数组,最大下标小于0。如果没有找到,返回的结果是-1.如果当前Splarr数组的值不重复则将变量r的值加1。将不重复值添加到数组Arr中。使用工作表Transpose函数将去除重复值的的文本转置后写入到工作表单元格中。VBA是利用OFFICE实现自己小型办公自动化的有效手段,我根据自己20多年的VBA实际利用经验,现在推出了四部VBA经验学习资料,是我“积木编程”思想的体现。第一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点;第二:VBA数据库解决方案,是数据处理的专业利器,介绍利用ADO连接ACCDB,EXCEL。第三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。第四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。目前正在写第五部教程:VBA中类的解读和利用,希望在年内陆续在各个平台和大家见面。VBA真的非常实用,希望大家掌握这个工具,利用这个工具,让自己在工作中轻松,高效,快乐。学习有用的知识,让健康的知识服务于大众,不要想不劳而获,更不要去偷奸取巧,踏踏实实,沉下心,提高自己,为后疫情时代做好知识的储备。

转载请注明:http://www.aideyishus.com/lkcf/7594.html
------分隔线----------------------------