利用access创建数据字典_利用VBA字典,提取模糊处理数据

蓝字关注,加微信NZ9668获资料信息

 VBA解决方案   系列丛书作者 

头条百家平台 VBA资深创作者

_______________________________

幸福,由心不由境。不管遇到什么,都是一个风景。莫以小善而不为,莫以恶小而为之。心善则美,心纯则真。怀善心,做善事,一生无愧。怀平常心,做平常事,日夜安宁。把浮躁的心静下来,去感悟真实的时间,静下心,常存感恩之心,做善事,一生无愧。怀平常心,做平常事,日夜安宁。人之欲望不止,一山还比一山高,岂能如愿?看淡纷争,看轻得失,心安即是归处。一杯茶,满也好,少也好,不要计较其间;浓也好,淡也好,其中自有值得品的味道。逆境时多学习,积累的就是福报,多学习,积累的就是财富。保持快乐的心态,坚定且执着。去学习有用的知识,经营自己,而不是天天混日子,也不是天天熬日子。静下心,为后疫情时代做知识的储备。后疫情时代将会是一个全新的世界。在今后更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。为后疫情时代做的必要准备。 什么是存量残杀?简单而言,在取代OFFICE 新的办公软件没有到来之前,谁能把应用做到最为先进,谁就是王者。其中登峰至极的技能非VBA 莫属! 今日继续和大家分享VBA 编程中常用的常用“积木”过程代码。这些内容大多是我的经验的记录,来源于我多年的经验。最近代码多是出自”VBA 数组与字典解决方案” 教程,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读。今日分享的是第276 期。 8343971a5471e467ea8ecd0fb665fe3c.png 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   NextNext' 回填数据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) = NothingSet myDic(2) = NothingSet myDic(3) = NothingEnd Sub 代码讲解: 上述过程中实现了将源数据的模糊分类汇总, 最后将数据回填到结果区域. 定义三个字典用来装要分类的三种数据,这三个字典的名称是一个数组, 这样处理的好处可以在我后面的代码中体现, 用一次循环就可以完成需求. 将源数据装入了数组, 清空了待填的数据区域. 代码中应用了一个嵌套循环来完成目的, 内层循环实现了数据汇总, 外层循环实现了数据分类, 分类标准是在源数据中是否有条件的字符存在.INSTR 是判断的函数。这里大家要注意我先把keys, items 要先装入一个数组, 然后再转置回填. 大家留意代码的写法, 如果你没有确切的把握, 类似问题要按照给出代码进行. 虽然数组操作比SQL 简单些, 但也要尽可能的去复制和修正代码, 而不是自己另辟蹊径VBA 是利用Office 实现自己小型办公自动化的有效手段. 我根据自己20 多年的VBA 实际利用经验,现在推出了四部VBA 学习教程,也是我“积木编程”思想的具体体现。 897f8e9c7db7334d0b5a79d451af2d47.png 第一:VBA 代码解决方案,是VBA 中各个知识点的讲解,这部教程可以覆盖绝大多数的知识点; 第二:VBA 数据库解决方案,是数据处理的专业利器,详细的介绍了利用ADO 连接ACCDB 和EXCEL 的方法和实例操作。 第三:VBA 数组与字典解决方案,讲解VBA 中的数组和字典的利用。字典是VBA 代码水平提高的手段,值得深入的学习。 第四:VBA 代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。 上述教程的学习顺序,1,3,2 或者是4,3,2 逐渐深入的了解VBA 掌握VBA. 目前正在集中精力写第五部教程:VBA 中类的解读和利用,希望在年内能陆续在各个平台和大家见面。 利用VBA 进行数据统计真的非常实用,希望大家掌握这个工具,利用这个工具,让自己轻松,高效,快乐的工作。我的“积木编程”思想也是值得大家借鉴的,这种思想让大家在代码中解脱出来,成模块的构建自己的应用,提高自己的编程效率。根据我提供的经验,利用时间多学习。 754b5f31993ca51334d97743740b34a7.png

_____________________________ 

有启发 点在看,转给朋友  约作者 请留言,直接交流

更多关联阅读

691d60b397082276cee8cadc990ad62e.png

c5cc415e728fbef685b2c8d34fc7b3fd.png

4b2521009e1f0281f956c63d8ed0ce10.png

c5839e8309d6e2c480d9f03e216affad.png

d5b038ec0f5e69d6320e4634c990aa0d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值