vba 提取 json某个值_利用VBA字典,提取两列数据的重复值

大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第52讲:利用字典,提取两列数据重复值。有人讲:字典是VBA中最为精华的部分,持这种观点的人肯定有自己的道理,确实,利用字典可以给我的代码带来很大的方便之处,今日我讲解的是利用字典,提取两列的重复数据.在实际的工作中排重和提取重复的数据是很常见的工作,如果直接进行比较核对,真的很费事费时,之前我讲过数据库的方法,不失为一种好的方案.今日我们讲解利用字典的方法,这也是一种非常好的方案.

实例,下面的AB列数据,我们要提取出在A中与B列重复的数据,该如何进行?

787f53848b585ce2dfc0454f010d3640.png

我们首先看看数据,很多是重复的,我们首先要进行排重处理,一般的方案难于应付,下面看我给出的字典方案代码:

Sub mynzsz_52() '第52讲 利用字典,提取两列数据重复值

Sheets("52").Select

Set mydic = CreateObject("Scripting.Dictionary")

myarr1 = Range([A2], [A65536].End(xlUp))

myarr2 = Range([B2], [B65536].End(xlUp))

For i = 1 To UBound(myarr1)

'将键值赋值为0

mydic(myarr1(i, 1)) = 0

Next

For j = 1 To UBound(myarr2)

'如果数组2在字典中存在相应的键,那么将键值更改为1

If mydic.exists(myarr2(j, 1)) Then mydic(myarr2(j, 1)) = 1

Next

'对于字典中的每个键进行判断,如果相应的键值为0,也就是说在数组2中不存在,那么移除

For Each d In mydic.keys

If mydic(d) = 0 Then mydic.Remove (d)

Next

'将字典数据回填到工作表

[e:e].ClearContents

Range("e1") = "A列中与B列重复的值"

Range("e2").Resize(mydic.Count, 1) = WorksheetFunction.Transpose(mydic.keys)

End Sub

代码截图:

0877de957cb0f2aa248f11cb8d2d48de.png

代码解析:

1 上述代码实现了提取重复数据并排重的功能,代码简洁,操作灵活.

2. Set mydic = CreateObject("Scripting.Dictionary")

上述代码创建了一个字典

3. myarr1 = Range([A2], [A65536].End(xlUp))

myarr2 = Range([B2], [B65536].End(xlUp))

上述代码分别将两列数据放到数组中.

4 For i = 1 To UBound(myarr1)

'将键值赋值为0

mydic(myarr1(i, 1)) = 0

Next

将数组1的数据放到字典的键中同时键值赋值为0

5 For j = 1 To UBound(myarr2)

'如果数组2在字典中存在相应的键,那么将键值更改为1

If mydic.exists(myarr2(j, 1)) Then mydic(myarr2(j, 1)) = 1

Next

在数组2中建立循环,如果在字典中存在相应的键,那么将键值更正为1

6 For Each d In mydic.keys

If mydic(d) = 0 Then mydic.Remove (d)

Next

将字典中的数据进行处理,假如键值为0,那么移除

7 '将字典数据回填到工作表

[e:e].ClearContents

Range("e1") = "A列中与B列重复的值"

Range("e2").Resize(mydic.Count, 1) = WorksheetFunction.Transpose(mydic.keys)

上述代码数据回填.

下面看代码的运行:

c303406ccdc35c4a6b9540c29c6b131e.png

今日内容回向:

1 利用字典如何获取重复数据的值?

2 上述代码中为什么要对键值重新赋值?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/507108.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

红外倒车雷达原理图_硅光电倍增管 (SiPM) 直接飞行时间 (dToF) 激光雷达平台为工业测距应用提供现成的设计...

点击蓝字关注我们请私信我们添加白名单如果您喜欢本篇文章,欢迎转载!推动高能效创新的安森美半导体 (ON Semiconductor,美国纳斯达克上市代号:ON),推出了由该公司硅光电倍增管 (SiPM) 技术实现的单点直接飞行时间 (dTo…

visio图标_弱电间机柜原型图整理,可编辑!(Excel,visio,CAD)

有朋友问到机柜原型图,这个我们在弱电vip技术群里面也有朋友提到过,今天我们就整理了弱电系统中常用的机柜原型图,有Excel,visio,CAD版本,可以修改编辑!1、Excel机柜原型图(可编辑)机柜布局-1机…

c语言字节强制对齐,C语言的那些小秘密之字节对齐

为了让读者加深印象,我们这里在代码中没有使用0,而是使用的4,所以在最终计算出的结果部分减去了一个4才是偏移地址,当然实际使用中我们都是用的是0。懂了上面的宏offsetof之后我们再来看看下面的代码:#include #define…

xshell 6 连接debian系统拒绝了密码_原来连接Linux,还有这个方法

你是不是以为电脑的操作系统只有Windows和IOS系统,其实不是的,还有一个Linux系统,这个系统不是很常见,导致很多人连怎么连接Linux系统都不太清楚明白。Windows系统可以用远程桌面,Linux系统怎么来远程桌面呢&#xff1…

ctf up怎么写 write_软件测试工程师要不要写工具?

Fintech概念正受到不少互联网金融公司的热捧,主要是指代那些可用于撕裂传统金融服务方式的高新技术。越来越多的企业开辟了新的部门去研究各种各样能让自己产品增值的科技类产品。尤其是在很多互联网金融公司,业务分析师BA(Business Analyst)&#xff0c…

th标签能包裹select吗_电影《八佰》过后,他能摘掉马思纯前男友标签了吗?

文/温青青提到欧豪,大多数人第一时间想到的还是“马思纯前男友”、“快乐男声选秀出道歌手”这些身份。原因嘛很简单,只因为男方在娱乐圈的名气地位暂时还不如女方。类似情况分手的情侣还有很多,杨紫的前男友秦俊杰,蓝盈莹的前男友…

h3c防火墙u200配置命令_h3c 防火墙清除配置

reset saved-configuration 重置配置文件。The saved configuration file will be erased. Are you sure? [Y/N]:YConfiguration file in cfa0 is being cleared. Please wait ...Configuration file is cleared.reboot 重新防火墙Start to check configuration with next sta…

android 自定义 popupwindow,Android自定义弹出窗口PopupWindow使用技巧

PopupWindow是Android上自定义弹出窗口,使用起来很方便。PopupWindow的构造函数为public PopupWindow(View contentView, int width, int height, boolean focusable)contentView为要显示的view,width和height为宽和高,值为像素值&#xff0c…

android lottie字体json,Android 动画深入Lottie

image.png如果现在有需求,让这个小人做出拳击动作你应该如何做? 传统方法会写一大堆的路径值做路径动画,不好调试代码臃肿并且麻烦,那么有简单方法吗 有! SVG 和 Lottie 可以胜任 SVG编辑麻烦美工不太会弄,那么我们用Lottie 下面…

android 搜索工具栏,Android记事本在菜单栏添加搜索按钮方法

效果图这个app结构和我之前将记事本开发的博客基本一致,我这里直接讲一下怎样添加使用的开发软件为android studio首先在res目录下新建文件夹menu,添加目录布局文件main_menu之后在main_menu中添加如下代码xmlns:app"http://schemas.android.com/ap…

5分钟k线数据 存储_成功率极高的“分时K线战法”:15分钟K线战法+30分钟K线战法...

实战看盘最常用的就是日、周、月等K线图。这些图形对于我们分析个股走势的确帮助很大,然而遇到调整时,就显示了其宏观有余、微观不足的缺点。但假如我们用分时K线图进行微观的观察与分析,就可以找到一些个股在调整中的规律,比如15…

nfc卡模式与标准模式_张家口市环卫进入首都标准“京环模式”

“路上看不见垃圾,垃圾箱更卫生了,路边公共设施齐全了。”喜欢晨练的王先生最近格外喜欢在河边便道上散步,切身感受城市环境面貌改善带来的获得感。而这背后,除了环卫工作者的付出,也见证了张家口市城乡环卫一体化项目…

pyqt 取鼠标处文字_爱剪辑:炫彩的动态标题文字特效,这招让视频片头LOGO更酷炫...

爱剪辑学习委员会提醒您:道路千万条,学习第一条。教程不学会,制作两行泪。今天教大家制作炫彩的动态标题文字特效,3步即可快速学会,让你立马不再流泪。爱剪辑官网下载:http://www.aijianji.com/爱剪辑LOGO效…

android studio 搭建环境,Android studio搭建xposed环境

一、环境准备xposed:https://repo.xposed.info/module/de.robv.android.xposed.installerxposed-api:https://forum.xda-developers.com/xposed/xposed-api-changelog-developer-news-t2714067二、环境搭建Android studio选择->Empty Actvity将api.ja…

强化学习原理与python实现原理pdf_纯Python实现!Facebook发布PyTorch分布式强化学习库...

图灵TOPIA来源:Facebook编译:刘静图灵联邦编辑部出品Facebook于近日发布了PyTorch中用于强化学习(RL)研究的平台:TorchBeast。TorchBeast实现了流行的IMPALA算法的一个版本,用于RL代理的快速、异步、并行训练。另外,To…

鸿蒙开发还可以用安卓,华为鸿蒙2.0可以替代安卓吗,华为鸿蒙2.0优势在哪

在华为开发者大会上,华为消费业务CEO 余承东,正式发布鸿蒙OS2.0,并宣布华为鸿蒙OS将全面启用全场景生态,并将于2020年12月发布手机版。余承东还表示,明年,华为的智能手机将全面升级,以支持鸿蒙操…

深入浅出强化学习_直播 | 深入浅出理解 A3C 强化学习

强化学习是一种比较传统的人工智能手段,在近年来随着深度学习的发展,强化学习和深度学习逐渐结合在了一起。这种结合使得很多原来无法想象的工作有了可能,最令我们瞩目的莫过于 AlphaGo 战胜李世石,以及 OpenAI 团队的机器人可以在…

鸿蒙os2.0公测机型,鸿蒙OS2.0第二期第三期公测机型陆续公布 麒麟980和麒麟820将登场...

继官方透露鸿蒙OS2.0将开始大规模推送之后,在第一批为华为Mate X2,Mate40系列等系列机型推送后,近期官方再次开启了鸿蒙系统(HarmonyOS 20开发者Beta)的第二期公测,在原有机型的基础上再次增加了nova系列的6款机型,根据…

如何截取_【实用技巧】如何截取网页长图

最近需要截取一个网页长图,搜了下发现 Chrome 浏览器实现起来比较简单,顺便记录分享下。准备:Chrome 浏览器【1】用 Chrome 浏览器打开网页【2】按下 F12 进入开发者工具页面【3】点击工具栏中“切换设备”选项(图标看着像手机/Pad)【4】左侧…

三星升级android9,没买的不必看!三星手机各机升级Android 9.0 时间表

原标题:没买的不必看!三星手机各机升级Android 9.0 时间表在此之前Samsung 在Samsung 的会员应用程序中给我们公布了旗下设备在什么时间节点升级至Android 9.0系统的路线图。用户更新至最新的Android 9.0之后,用户将会得到全新的One UI&#…