У меня есть два набора динамических списков, 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
Единственный недостаток в том, что макрос придется запускать каждый раз, когда вы добавляете значение в свой список. Это можно сделать, изменив рабочую книгу.