A列数值为1,2,3,4,5,6,1,2,3
Sub test1()
Dim Arr, d, i&
Set d = CreateObject("scripting.dictionary")
Arr = Range("a1").CurrentRegion
For i = 1 To UBound(Arr)
d(Arr(i, 1)) = d(Arr(i, 1)) + 1
Next
For Each a In d.keys
If d(a) > 1 Then p = p & "," & a
Next
[d9] = Mid(p, 2)
End Sub
这段代码里面的最后在[d9]输出为1,2,3
请问这段代码中的 d(Arr(i, 1)) = d(Arr(i, 1)) + 1 怎么理解
当我将+1 换成+2 [d9]输出 为 1,2,3,4,5,6
+1和+2 有什么区别吗?
luhao1990 发表于 2016-8-10 16:42
首先要谢谢大大的 解释。
其次呢我自己仔细的想了想 觉得 d(Arr(i, 1)) = d(Arr(i, 1)) + 1 其实是不 ...
语法
object.Item(key) [= newitem]
可以这么写,d.item("a")="apple"
也可以这么简写,d("a")="applie"
而写成d.item,则是错误的写法。
关于重复次数,可看3楼例子。
是由于某个key的item在不断累加,类似于 s=s+1的效果,从而达到计数效果。
|