|
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
- Sub 嵌套字典()
- Dim oDic As Object, vData As Variant, nRow As Integer
- Dim vKey As Variant, vItem As Variant
- Dim vKey1 As Variant, vKey2 As Variant
-
- vData = Sheet1.UsedRange.Value
- Set oDic = CreateObject("Scripting.Dictionary") '建立字典对象
- '原来的做法
- For nRow = 2 To UBound(vData)
- vKey = vData(nRow, 1)
- vItem = vData(nRow, 2)
- oDic(vKey) = vItem
- Next
-
- oDic.RemoveAll '清除刚刚建立的字典
-
- '调整为字典嵌套的做法
- For nRow = 2 To UBound(vData)
- vKey1 = vData(nRow, 2) '第一Key,原来的Item
- vKey2 = vData(nRow, 1) '第二Key,原来的Key
- If Not oDic.Exists(vKey1) Then '如果不存在字典第一Key
- Set oDic(vKey1) = CreateObject("Scripting.Dictionary") '建立嵌套字典对象
- End If
- oDic(vKey1)(vKey2) = 0 '字典等于什么不重要,可以随意
- Next
- '这个时候,oDic.Keys就是原来的Item,对于Item里的每个值vKey1,oDic(Key1).Keys就是与之对应包含相同Key1的Key
- End Sub
复制代码 |
评分
-
1
查看全部评分
-
|