scripting.dictionary не распознает номера
Получил этот код:
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
Это отлично даст мне "1" в столбце 14, когда слово "тест" находится где-нибудь в столбце К.
Если я изменяю строку ".Add " test ", 1" на ".Add " 21 ", 1", она возвращает только "0", хотя у меня есть "21" в столбце K.
В сети говорится, что значениями.key могут быть любые значения (текст, числа и т. Д.). Поскольку столбец K содержит только цифры (от 1 до 25), мне нужен скрипт, чтобы пометить вхождения 1 из этих чисел, и я действительно хочу использовать "scripting.dictionary", так как это самый быстрый способ.
Что я делаю не так или не "scripting.dictionary" поддерживает только цифры.
1 ответ
Решил это. Необходимо изменить строку на:
.Add 21, 1
Так 21
без кавычек.