PDF转Excel:高效去除AI特征,实现数据自由编辑
852
2022-10-07
[Excel VBA]用字典处理多条件查询问题
我们今天分享的内容是使用VBA代码实现多条件查询的功能。
Sub DicFind() Dim d As Object, arr, brr, i&, j&, k&, s$ Set d = CreateObject(“ing.dictionary”) ‘后期引用字典 ‘d.CompareMode = vbTextCompare ‘不区分字母大小写 arr = Sheets(“明细表”).[a1].CurrentRegion ‘明细数据装入数组arr For i = 2 To UBound(arr) ‘遍历数组arr,将数据装入字典,以备查询 ‘标题行不要,从第二行开始遍历 For j = 2 To UBound(arr, 2) ‘标题列不要,从第二列开始遍历 s = arr(i, 1) & “@” & arr(1, j) ‘[email protected],作为字典的key值 d(s) = arr(i, j) ‘成绩是查询的结果,作为字典的item Next Next brr = Sheets(“查询表”).[a1].CurrentRegion ‘查询区域的数据装入数组brr For i = 2 To UBound(brr) s = brr(i, 1) & “@” & brr(i, 2) ‘合并查询的两个条件成为一个条件字符串,[email protected] For j = 3 To UBound(brr, 2) If d.exists(s) Then ‘如果字典中存在变量s brr(i, j) = d(s) ‘从字典中取s对应的条目 Else brr(i, j) = “” ‘否则返回假空 End If Next Next Sheets(“查询表”).[a1].CurrentRegion = brr ‘将数组brr放回查询区域 MsgBox “查询OK” Set d = Nothing ‘释放字典内存 End Sub
测试及练习文件: https://pan.baidu.com/s/1slv74qp
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。