得到这个代码:
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 "test", 1" 行更改为 ".Add "21", 1" 它只返回 "0" 尽管我在 K 列中有 "21"。
网上说 .key 值可以是任何值(文本、数字等)。由于列 K 仅包含数字(1 到 25),我需要脚本来标记其中 1 个数字的出现,我真的想使用“scripting.dictionary”,因为它是最快的方法。
我做错了什么或者“scripting.dictionary”不只支持数字。