Dim DicObj,DicRange as Range,FindRange as Range
1、创建一个字典对象
Set DicObj = CreateObject("Scripting.Dictionary")
2、设置匹配模式
DicObj.CompareMode = 1
3、添加字典key和value,我们以excel表格的A1:B10区域来举例,A1:A10是key列,B1:B10是Value列
Set DicRange= ActiveWorkbook.ActiveSheet.Range("A10:B10")
For j = 1 To 10
'添加字典项,注意key值 不能重复
DicObj.Add DicRange(j,1) DicRange(j,2)
Next j
Next i
4、对VB目标区域进行查询和替换,如果字典有对应的Key ,直接替换成相应的Value
Set FindRange= ActiveWorkbook.ActiveSheet.Range("C1:C100")
For i = 1 to 100
If DicObj.exists(FindRange(i)) Then
FindRange(i) = DicObj(FindRange(i))(0)
End If
Next i