相关内容    简体    繁体

利用VBA字典实现单条件,结果多值查询


大家好,今日我们继续讲解VBA数组与字典解决方案,今日讲解第80讲内容:利用字典实现单条件,结果多值查询。

到这里字典的讲解已经进入尾声了,在余下的几讲中,我将重点给大家讲解一下利用字典进行查询的各种方案,对于单值的查询,前面已经讲了很多,这里不再讲解,今天给大家讲解的是单条件,即一个条件,但结果是多值的查询,也就是一对多的查询,后面还会陆续实现更多的查询方法。

实例,如下面的截图,我们要在数据区域的数据中查找到各个型号的类别,对于一个型号来说,类别是各式各样的,要提取出全部的数据。

 

 

思路分析:为了实现题目的要求,我们首先把数据装入字典中,在装入字典的时候,型号作为键,类别作为键值,如果类别不是唯一的情况下,那么将类别数据合并处理,在查询的时候,只要提取所给数据对应的键值即可。

下面看我给出的代码:

Sub mynzsz_80() '第80讲 利用字典实现单条件,结果多值查询

Sheets("80").Select

'将数据存入数组

myarr = Range("a2:f" & Range("a2").End(xlDown).Row)

'创建字典对象

Set mydic = CreateObject("Scripting.Dictionary")

'在字典中装入数据

For i = 1 To UBound(myarr)

mydic(myarr(i, 1)) = mydic(myarr(i, 1)) & " " & myarr(i, 2)

Next i

' 数据的回填

Set myRng = Range(Cells(2, "I"), Cells(Range("I2").End(xlDown).Row, "I"))

For Each uu In myRng

'清空数据

Cells(uu.Row, "J") = ""

'填入查到的数据

Cells(uu.Row, "J") = mydic(uu.Value)

Next

Set mydic = Nothing

MsgBox ("ok")

End Sub

代码的截图:

 

 

代码分析:

1 上述代码中,将数据赋值给数组myarr,之后给字典mydic赋值,赋值的时候,提取数组的第一个值作为键,如果键值是多个,那么用mydic(myarr(i, 1)) & " " & myarr(i, 2)进行合并处理。最后在查询的时候,只要提取所给出查询数据的键值即可:Cells(uu.Row, "J") = mydic(uu.Value)

2 '将数据存入数组

myarr = Range("a2:f" & Range("a2").End(xlDown).Row)

上述语句是将数据装入数组中。

3 '在字典中装入数据

For i = 1 To UBound(myarr)

mydic(myarr(i, 1)) = mydic(myarr(i, 1)) & " " & myarr(i, 2)

Next i

上述语句在字典中装入数据,如果是键是重复的,键值将合并处理。

4 Set myRng = Range(Cells(2, "I"), Cells(Range("I2").End(xlDown).Row, "I"))

上述语句是将定义查询区域,即:型号所在的单元格

5 For Each uu In myRng

'清空数据

Cells(uu.Row, "J") = ""

'填入查到的数据

Cells(uu.Row, "J") = mydic(uu.Value)

Next

上述语句实现查询,注意上述代码中的uu.VALUE是指单元格的值。

6 Set mydic = Nothing

清空内存。

下面看代码的运行:

 

 

今日内容回向:

1 如何实现字典的单条件多值返回的查询?

2 如何给重复数据进行合并?


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找 用VBA数组字典实现多条件查找 [Excel VBA]用字典处理多条件查询问题 Mybatis 实现多条件、多值批量更新 VBA用字典处理多条件查询,你或许需要这种查找替代VLOOKUP Excel VBA 多条件查询 VBA-利用字典代替VLOOKUP vba通过字典方式进行查询,速度快 mongodb数组多值查询(条件:数据库中必须包含条件信息) Solr实现 并集式、多值、复杂 过滤查询的权限【转】 Access VBA修改原查询与利用查询创建新查询
 
粤ICP备18138465号  © 2018-2024 CODEPRJ.COM

两个鬼故事风声电影下载楚玄辰云若月小说免费阅读默字起名起营业执照名大全yy没声音农业银行湖北分行hbut玉蒲团4之云雨山庄2020年起名以太坊官网电脑免费起名测名软件冰封王座升级天堂来的孩子2零一获千金游戏五虎将后传3.04神xs升级第六版武汉生物工程学院地址神女赋给家具起名字好2月份生的男孩起什么名字起名案例夜刀神十香从召唤哥布林开始起名健康平安的字的个体商户起名保护地球的作文o2o中国南航官方网站亦怎么起名富字头公司起名机票酒店预订少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

两个鬼故事 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化