|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 haps_star 于 2017-7-24 10:52 编辑
自定义函数
Function MLookUp(Str As Range, Mkey As Range, Mvalue As Range)
Dim Dic As Object
Set Dic = CreateObject("Scripting.Dictionary")
Dic.comparemode = 1
Dim Regx
Set Regx = CreateObject("vbscript.regexp")
Dim Arr1(), Arr2(), Arr3()
Arr1 = Mkey
Arr2 = Mvalue
Dim i
For i = 1 To UBound(Arr1, 1)
Dic(Arr1(i, 1)) = Arr2(i, 1)
Next
Dim Str1, Str2, Str3
Arr3 = Dic.keys
Str1 = Str: Str3 = ""
For i = 0 To UBound(Arr3)
Str2 = Arr3(i)
With Regx
.Global = True
.Pattern = Str2
If .test(Str1) = True Then
Str3 = Dic(Str2)
GoTo 100
End If
End With
Next
100
Set Regx = Nothing
Set Dic = Nothing
MLookUp = Str3
End Function |
|