VBA字典

字典

使用前需要先加载

工具 -- 引用 -- 浏览 -- 找到scrrun.dll


字典赋值的方法1--Add添加

Sub a()
Dim dic As New Dictionary
dic.Add 1, "a"
dic.Add 2, "b"
'取值,得到a'
Range("a10") = dic(1)
End Sub

有此可以看出字典的好处是直接取出对应的值


字典的赋值方法2--range

Sub a()
Dim dic As New Dictionary
For i = 2 To 4
   dic.Add Range("d" & i).Value, Range("e" & i).Value
Next
End Sub

通过循环赋值,不过注意range赋值给字典时后面需要带上 value


字典赋值的方法3--通过数组

Sub a()
Dim arr()
Dim dic As New Dictionary
arr = Range("d2:e5")
'注意:数组的取值从1开始'
For i = 1 To 4
dic(arr(i, 1)) = arr(i, 2)
Next
'输出key'
Range("a14:d14") = dic.Keys
End Sub

利用字典创建3级下拉菜单
Ag
Sub tt()

'1.定义数组,取数组中列并放入列表框'
Dim arr()
Dim dic As New Dictionary

    '取类别'
arr = Range("a2:b13")
For i = LBound(arr) To UBound(arr)
    '值取多少无所谓,目的是为了取key'
    dic(arr(i, 2)) = 1
Next
    
Sheet2.ListBox1.List = dic.Keys

End Sub

你可能感兴趣的:(VBA字典)