1

У меня есть два набора динамических списков, 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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .