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

유일한 단점은 목록에 값을 추가할 때마다 매크로를 실행해야 한다는 것입니다. 통합 문서 변경을 통해 이를 입력할 수도 있습니다.

관련 정보