如下图所示,"科目代码"与"科目名称"呈一一对应关系。
如果需要根据"科目代码"查询对应的"科目名称",示例代码如下。
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,结果如下图所示。