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

Проверка данных из 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

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

Связанный контент