Я использую функцию «Contains», которую я написал, чтобы определить, соответствуют ли записи в столбце данных словарю «допустимых» значений, которые предопределены.
Sub Validate_Data()
Dim My_Dictionary As Variant
My_Dictionary = Array("Entry1", "Entry2", "Entry3")
Dim Destination As Range
Set Destination = Range("C2:C10")
For Each cell In Destination
cell.FormulaR1C1 = Contains(My_Dictionary, cell)
Next cell
End Sub
Этот код прекрасно работает, когда я указываю элементы моего массива, как указано выше.Однако, когда я пытаюсь создать массив из диапазона данных, согласно этой публикации, моя функция Contains больше не работает
Sub Validate_Data()
Dim My_Dictionary As Variant
My_Dictionary = Range("A1:A3").Value
Dim Destination As Range
Set Destination = Range("C2:C10")
For Each cell In Destination
cell.FormulaR1C1 = Contains(My_Dictionary, cell)
Next cell
End Sub
Возможно, она сохраняется как другие данныевведите одну версию в отличие от другой?Я не могу понять, почему первый код работает, а второй - нет, и я предпочел бы прочитать массив с листа, чем указать каждый элемент в моем коде (он намного длиннее трех элементов).