|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 mx94722 于 2024-1-16 09:49 编辑
Private Sub 镇街_Change()
村社.Clear
'二级下拉框对应的是第一级字典的键值为键的字典
If 镇街.Value <> "" Then 村社.List = mydic(镇街.Value).keys
End Sub
Private Sub 村社_Change()
组.Clear
'二级下拉框对应的是第一级字典的键值为键的字典
If 村社.Value <> "" Then 组.List = mydic(镇街.Value)(村社.Value).keys
End Sub
Private Sub UserForm_Activate() '将数据装入数组
myarr = Range("镇街数据!a1").CurrentRegion.Value
Set mydic = CreateObject("Scripting.Dictionary")
For i = 2 To UBound(myarr)
strF = myarr(i, 1)
strS = myarr(i, 2)
strT = myarr(i, 3)
If Not mydic.Exists(strF) Then
'建立嵌套字典,第一重字典的键对应的键值为字典
Set mydicTemp = CreateObject("Scripting.Dictionary")
Set mydic(strF) = mydicTemp
End If
If Not mydic(strF).Exists(strS) Then
Set mydicTemp2 = CreateObject("Scripting.Dictionary")
Set mydic(strF)(strS) = mydicTemp2
End If
mydic(strF)(strS)(strT) = ""
Next i
'一级下拉框对应的是第一级字典的键
镇街.List = mydic.keys
End Sub
|
|