【Excel VBA】字典对象(3)-利用字典对象实现条件查询

本文介绍了如何在Excel VBA中使用字典对象进行条件查询。通过示例代码展示了如何声明自定义函数,将数据加载到数组,利用字典的Item属性进行查找,并在单元格公式中调用该函数获取查询结果。
摘要由CSDN通过智能技术生成

如下图所示,"科目代码"与"科目名称"呈一一对应关系。

如果需要根据"科目代码"查询对应的"科目名称",示例代码如下。

Function strLookDic(ByVal rngData As Range, ByVal rngLook As Range) As String
     Dim dicData As Object
     Dim avntList() As Variant, i As Integer
     Set dicData = CreateObject("Scripting.Dictionary")
     avntList() = Intersect(rngData, rngData.Parent.UsedRange).Value
     For i = 1 To UBound(avntList())
         dicData.Item(avntList(i, 1)) = avntList(i, 2)
     Next i
     strLookDic = dicData.Item(rngLook.Value)
     Set dicData = Nothing
 End Function

第1行代码声明具有两个参数的自定义函数过程。rngData参数为数据源区域,rngLook参数为查找值。函数返回值为字符串类型。

第5行代码将用户选择的单元格区域加载到数组中。

第7行利用Item属性在字典对象中新增关键字。

第9行代码读取字典中关键字rngLool对应的条目,并赋值到自定义函数的返回值。

在单元格公式中调用自定义函数strLookDic,结果如下图所示。


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值