Проверка данных из 2 списков EXCEL 2010
У меня есть два набора динамических списков, List1
& List2
Списки создаются с использованием OFFSET и COUNTA, поэтому новые записи содержатся в списке и т. Д.
В ячейке A1 я хочу использовать функцию списка проверки данных, но я хочу, чтобы она ссылалась на ОБА этих списков,
Мне сказали, что это должно быть сделано VBA?
Какие-либо предложения?
В настоящее время я использую:
=(COUNTIF(list1,A1)+COUNTIF(list2,A1))>=1
В разделе "Пользовательский", но это не позволяет мне иметь опцию выпадающего списка
1 ответ
Решение
Вы можете использовать макрос, чтобы заставить значения в одном списке
Sub Validation()
Dim a$, el As Range
' SET THE LIST RANGE, YOU CAN USE MORE THAN 2
Dim rng1 As Range, rng2 As Range
'DEFINE THE CELLS USED FOR THE LIST, NAMED RANGE OR INDIRECT CAN BE USED
Set rng1 = Range("List1")
Set rng2 = Range("List2")
'COLLECT VALUES FROM LISTS
For Each el In rng1
a = a & el.Value & ","
Next
For Each el In rng2
a = a & el.Value & ","
Next
' SET DESTIANTION OF DATA VALIDATION RULE
With Range("A1").Validation
.Delete
.Add Type:=xlValidateList, Formula1:=a
End With
Set rng1 = Nothing
Set rng2 = Nothing
End Sub
Единственным недостатком является то, что макрос нужно будет запускать каждый раз, когда вы добавляете значение в свой список, вы можете добавить его через изменение рабочей книги.