Проверка данных из 2 списков EXCEL 2010

790
PeterH

У меня есть два набора динамических списков, List1иList2

Списки создаются с использованием OFFSET и COUNTA, поэтому новые записи содержатся в списке и т. Д.

В ячейке A1 я хочу использовать функцию списка проверки данных, но я хочу, чтобы она ссылалась на ОБА этих списков,

Мне сказали, что это должно быть сделано VBA?

Какие-либо предложения ?

В настоящее время я использую:

=(COUNTIF(list1,A1)+COUNTIF(list2,A1))>=1 

В разделе «Пользовательский», но это не позволяет мне иметь опцию выпадающего списка

1

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 

Единственным недостатком является то, что макрос нужно будет запускать каждый раз, когда вы добавляете значение в свой список, вы можете добавить его через изменение рабочей книги.

да, это работает нормально, предпочел бы не использовать макрос, но эй, это работает !! PeterH 6 лет назад 0
Да, это действительно работает. Использовал этот, чтобы сделать проверку из списка + пустую позицию здесь - https://stackoverflow.com/questions/50100033/vba-data-validation-empty-cell/50100839#50100839 Vityata 5 лет назад 0

Похожие вопросы