TUhjnbcbe - 2024/9/13 17:26:00
大家好,今日推出常用“积木”过程案例分享第期,今日内容是利用字典,进行数据的分类。提供给大家的这些内容是我多年经验的记录,来源于我多年的实践。大家在学习VBA的时候,可以把这些代码块作为一块块的积木对待,平时积累,用时拿来修正、组合。这就是我的“积木编程”的思想,这些讲解就是我推出的“积木”方案,希望大家加以利用。最近代码多是出自我的第三套教程”VBA数组与字典解决方案”。Submynzsz_77()第77讲根据数据分类不同,利用数组分别提取填入不同的工作表中Sheets(77).SelectDimmybrr()myarr=Range(a1).CurrentRegion.ValuemyTable=Array(WG,WG,WG,WG)Fori=0ToUBound(myTable)Forj=2ToUBound(myarr)Ifmyarr(j,2)=myTable(i)Thent=t+1ReDimPreservemybrr(1To4,1Tot)mybrr(1,t)=myarr(j,1)mybrr(2,t)=myarr(j,2)mybrr(3,t)=myarr(j,3)mybrr(4,t)=myarr(j,4)EndIfNextjSetuu=Worksheets.Add(after:=Sheets(77))uu.Name=myTable(i)Withuu.Range(a1:d1)=Array(序号,编号,日期,金额).Range(a2).Resize(t,4)=_WorksheetFunction.Transpose(mybrr).UsedRange.Borders.LineStyle=xlContinuousEndWithErasemybrr()t=0NextiEndSub代码讲解:1)上述代码实现了在源数据中按要求提取数据,然后新建一个工作表,把这些数据回填进去。在此,我们要把源数据存到数组myarr中,然后我们建立一个数组myTable,用于存放新增的工作表Array(WG,WG,WG,WG),在工作表中建立循环时按照上述的特征提取数据。2)将数据放到数组中myarr=Range(a1).CurrentRegion.Value上述代码将源数据存放到数组myarr中。3)定义新增工作表的表名称myTable=Array(WG,WG,WG,WG)上述代码是把提取数据的特征作为工作表的名称来对应。4)新增工作表Setuu=Worksheets.Add(after:=Sheets(77))uu.Name=myTable(i)上面的代码是新增工作表,工作表名称即是数据分类的要求。5)回填数据,设置格式Withuu.Range(a1:d1)=Array(序号,编号,日期,金额).Range(a2).Resize(t,4)=_WorksheetFunction.Transpose(mybrr).UsedRange.Borders.LineStyle=xlContinuousEndWith上述代码是回填数据,回填数据时用了转置处理。6)清空数组Erasemybrr()上述代码清空数组。VBA学习是一种枯燥的过程“众鸟高飞尽,孤云独去闲。相看两不厌,只有敬亭山”。学习的过程也是修心的过程,修一个平静的心。在代码的世界中,心平静了,心情好了,身体自然而然就好。心静则正,内心里没有那么多邪知邪见,也就没有那么多妄想。利人就是利己。我的教程助力给正在努力的朋友。“水善利万物而不争”,绵绵密密,微则无声,巨则汹涌。学习亦如此,知道什么是自己所需要的,不要蜷缩在一小块自认为天堂的世界里,待到暮年时再去做自欺欺人的言论。要努力提高自己,用一颗充满生机的心灵,把握现在,这才是进取。越是有意义的事情,困难会越多。愿力决定始终,智慧决定成败。不管遇到什么,都是风景。看淡纷争,看轻得失。学习时微而无声,利用时则巨则汹涌。“路漫漫其修远兮,吾将上下而求索”每一分收获都是成长的记录,正是这种执着,成就了秋日的收货。最后将两阙词送给致力于VBA学习的朋友,让大家感受一下学习过程的枯燥与执着:其一浮云掠过,暗语无声,唯有清风,惊了梦中啼莺。望星,疏移北斗,奈将往事雁同行。阡陌人,昏灯明暗,忍顾长亭。多少VBA人,暗夜中,悄声寻梦,盼却天明。怎无凭!其二望空,不见云头几缕秋风,几片残阳几处雁阵,几点灯火阑珊几行代码哪里是属性,哪里是方法哪里又是事件呵,呵几根青丝不见额头分享我多年工作实际经验的成果,随喜这些有用的东西,给确实需要利用VBA的同路人。回向学习利用VBA的历历往事,不胜感慨,谨以这些文字以纪念。分享成果,随喜正能量