本帖最后由 砂海 于 2017-6-23 23:28 编辑
1. ) 解决当前问题
"dic.Item(arr(i, 1)) = dic.Item(arr(i, 1)) + 1"
改为
"dic(arr(i, 1)) = Val(dic(arr(i, 1))) + 1"
val() 是 用于处理首次 ""
2. ) 字典的创建方法有
直接创建 (你现在这样 )该方法不支持 .keys( 序数 ) 与 items (序数)
引用法 , microsoft scripting runtime 如下图
然后 dim dic as new dictionary
3. ) 效果示例
Sub cc()
Dim d As New Dictionary
Dim i, k
k = Array(9, 2, 3, 4, 4, 4, 5, 5)
For i = 0 To UBound(k) - 1
d(k(i)) = d(k(i)) + 1
Next i
Stop
d.Keys(2) = 7 '本句 2 是 序数 , 本句无效
d.Key(3) = 77 '本句 3 是 key , 本句有效
d.Items(3) = 888 '本句 3 是 序数 , 本句无效
d.Item(4) = 4444 '本句 4 是 key
d(2) = 999 '本句 1 是 key
For i = 0 To 4
Debug.Print d.Keys(i) & " " & d.Items(i)
Next i
Stop
End Sub