python 判断字典key是否存在_神奇的VBA字典,判断数据是否重复

心胸开阔一点,不去争;得失看轻一点,不去争;功利心淡一点,不去争。一杯茶,满也好,少也好,不要浪费时间去争;浓也好,淡也好,其中自有值得品的味道。人生有顺境也有逆境,不可能处处是逆境;人生有巅峰也有谷底,不可能处处是谷底。逆境时多学习,积累的就是福报,谷底时多学习,积累的就是财富。走的路越远,心就会越宽;遇见的人越多,就会发现世界就越大。保持健康快乐的心态,坚定且执着,路和梦想就在脚下。有时间要学会去学习有用的知识,经营自己,而不是天天混日子,也不是天天熬日子,学习的过程能让您一生舒坦,快活似神仙。不管现实有多残忍,我们都要固执地相信,只要顽强的前行,一切阴霾都会吹散在风中。静下心,多学习有用的知识,为后疫情时代做知识的储备。后疫情时代将会是一个全新的世界,很多理念都将被打破,我们每个人,要尽可能多的学习有用的知识,为自己充电。在今后更加严峻的存量残杀世界中,为自己的生存进行知识的储备,特别是新知识的储备。为后疫情时代做的必要准备。

什么是存量残杀?简单而言,在取代OFFICE新的办公软件没有到来之前,谁能把应用做到最为先进,谁就是王者。其中登峰至极的技能非VBA莫属!

今日继续和大家分享VBA编程中常用的常用"积木"过程代码。这些内容大多是我的经验的记录,来源于我多年的经验。最近代码多是出自"VBA数组与字典解决方案"教程,有一些朋友反映分享的内容不能很好的理解,可以参考这套资料的内容进行研读。今日分享的是第268期。

b6748a91d597bd484ac2d341dbbb2bff.png

VBA过程代码268:利用字典来判断数组的值是否重复,并提取出不重复的值

Sub MyNZ ()

Dim brr() '声明一个数组brr放结果

Sheets("44").Select

Set mydic = CreateObject("scripting.dictionary")

'不区分字母大小写比较

mydic.CompareMode = vbTextCompare

'数据源装入数组myarr

myarr = Range("a1:a" & Cells(Rows.Count, 1).End(xlUp).row)

ReDim brr(1 To UBound(myarr), 1 To 1)

'标题行不要,开始遍历数组

For i = 2 To UBound(myarr)

'将数据转换成字符串类型,因为字典关键字认为数值和文本型数值是不相等的

s = myarr(i, 1)

If Not mydic.exists(s) Then

'如果字典中不存在s,则作为关键字装入字典,个数累加,结果装入结果数组

mydic(s) = ""

k = k + 1

brr(k, 1) = myarr(i, 1)

End If

Next

[E:E].ClearContents

[E1] = "排重结果"

With [E2].Resize(k, 1)

'设置文本格式,防止某些文本数值变形

.NumberFormat = "@"

.Value = brr

End With

MsgBox "一共有:" & k & "个不重复值。"

'释放字典内存

Set mydic = Nothing

End Sub

332698c68e29ab741d911fbcd127510c.png

代码讲解: 上述代码实现了对一个数组的排重处理,过程和要求的完全一致,大家要注意,实现一个目的有很多的方法,有的会简单些,有的会复杂些,我会尽可能的多利用些方法来实现目的,让大家在学习的过程中能有所比较,无论是哪一种方法,读者要充分的理解,如果实在理解不了可以记住代码为自己所用也可。

VBA是利用Office实现自己小型办公自动化的有效手段.我根据自己20多年的VBA实际利用经验,现在推出了四部VBA经验学习资料,也是我"积木编程"思想的具体体现。

一:VBA代码解决方案,是VBA中各个知识点的讲解,覆盖了绝大多数的知识点;

二:VBA数据库解决方案,是数据处理的专业利器,介绍利用ADO连接ACCDB,EXCEL。

三:VBA数组与字典解决方案,讲解VBA中的数组和字典的利用。

四:VBA代码解决方案之视频,是专门面向初学者的视频讲解,可以快速入门,更快的掌握这门技能。

目前正在写第五部教程:VBA中类的解读和利用,希望在年内能陆续在各个平台和大家见面,前些时在平台上发表了一事件响应的视频录屏,反响还是不错的,这个视频就是类的应用经典。

利用VBA进行数据统计真的非常实用,希望大家掌握这个工具,利用这个工具,让自己轻松,高效,快乐的工作。学习有用的知识,让健康的知识服务于大众,不劳而获,偷奸取巧,是不能获得有用的知识的,只有踏踏实实,沉下心,点滴起步,为后疫情时代做好知识的储备。我的目的是授人以渔,给大家提供我现成的经验,你可以借鉴到现成的经验,不偷着乐还更待何时?

6af5bd125aee28b86417591d84f7f9e1.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值