조건이 있는 Excel 드롭다운

조건이 있는 Excel 드롭다운

나는 내 문제에 대한 해결책을 찾지 못한 채 한동안 검색했습니다. A에는 간접 함수를 통해 드롭다운 목록에 사용되는 값 목록이 포함된 tbl_lov라는 테이블이 있습니다. 간접("tbl_lov[프로젝트NR]")

프로젝트가 계속 진행됨에 따라 True 또는 False 값을 보유하는 active라는 이름의 tbl_lov 열이 있습니다. false인 경우 이 값이 드롭다운에 표시되는 것을 원하지 않습니다. 안타깝게도 아직 이 작업을 직접 수행할 수 있는 방법을 찾지 못했습니다.

답변1

그 기능만 사용하면 별 것 아닌 것 같아서 결국 내가 한 것은 (내가 피하고 싶었던) 매크로를 사용하는 것이었다.

Dim all_lov As Variant
Dim row_nr As Integer

Sub Button1_Click()
    Worksheets("LoV").Range("I:N").Delete
    row_nr = 3
    all_lov = Worksheets("LoV").ListObjects("tbl_lov").DataBodyRange.Value
    Worksheets("LoV").Range("B3:G3").Copy Worksheets("LoV").Range("I3")
    For i = 1 To UBound(all_lov)
        If all_lov(i, 6) = True Then
            row_nr = row_nr + 1
            Worksheets("LoV").Range("B" & (3 + i) & ":G" & (3 + i)).Copy Worksheets("LoV").Range("I" & row_nr)
        End If
    Next i
    Worksheets("Lov").ListObjects.Add(SourceType:=xlSrcRange, Source:=Worksheets("LoV").Range("I3:N" & row_nr), xlListObjectHasHeaders:=xlYes, tablestyleName:="TableStyleDark3").Name = "tbl_lovActive"
End Sub

이는 기존 테이블을 통해 반복되고 활성 프로젝트만 새 범위에 복사됩니다. 데이터 유효성 검사는 새 테이블을 가리킵니다.

관련 정보