Я искал некоторое время, не имея возможности найти решение моей проблемы. Есть таблица с именем tbl_lov, которая содержит список значений, используемых в раскрывающемся списке с помощью косвенной функции. ДВССЫЛ ("tbl_lov [ProjNR]")

По мере того, как проекты приходят и уходят, у меня есть столбец в tbl_lov с именем active, который содержит значение True или False. Если значение равно false, я не хочу, чтобы это значение отображалось в раскрывающемся списке. К сожалению, я еще не понял, как я могу сделать это напрямую.

1 ответ1

0

Поскольку кажется, что нет ничего тривиального, используя только его функции, в итоге я использовал макрос (чего я хотел избежать).

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

Это будет повторять мою существующую таблицу и копировать в новый диапазон только активные проекты. Проверка данных указывает на новую таблицу.

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