Выпадающий список Excel с условием

232
Alexandre Alves

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

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

0

1 ответ на вопрос

0
Alexandre Alves

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

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 

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

Похожие вопросы