得到了这段代码:
Dim a, i As Long
With Range("K1", Range("K" & Rows.Count).End(xlUp))
a = .Value
End With
With CreateObject("Scripting.Dictionary")
.CompareMode = vbTextCompare
.Add "test", 1
For i = 1 To UBound(a, 1)
If .exists(a(i, 1)) Then
Cells(i, 14).Value = 1
Else
Cells(i, 14).Value = 0
End If
Next
End With
当“测试”一词出现在K列的任何地方时,它在第14栏中给我一个“1”。
如果我将“.Add”测试“,1”行改为“.Add”21“,1”它只返回“0”,尽管我在K列中有“21”。
在网上说.key值可以是任何值(文本,数字等)。 由于列K只包含数字(1到25),我需要脚本来标记其中1个数字的出现,我真的想使用“scripting.dictionary”,因为这是最快的方法。
我做错了什么或者“scripting.dictionary”只支持数字。
答案 0 :(得分:1)
解决了它。需要将该行更改为:
.Add 21, 1
所以21
没有引号。