帶有條件的 Excel 下拉列表

帶有條件的 Excel 下拉列表

我已經搜索了一段時間但無法找到解決我的問題的方法。 A 有一個名為 tbl_lov 的表,其中包含透過間接函數在下拉清單中使用的值清單。間接(“tbl_lov[ProjNR]”)

隨著專案的來來去去,我在 tbl_lov 上有一個名為 active 的列,其中包含 True 或 False 值。如果為 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

這將迭代我現有的表並將活動項目複製到新範圍。資料驗證指向新表。

相關內容