Menú desplegable de Excel con condición

Menú desplegable de Excel con condición

He buscado por un tiempo sin poder encontrar una solución a mi problema. Tiene una tabla llamada tbl_lov que contiene la lista de valores utilizados en una lista desplegable mediante una función indirecta. INDIRECTO("tbl_lov[ProjNR]")

A medida que los proyectos van y vienen, tengo una columna en tbl_lov llamada activa que tiene un valor de Verdadero o Falso. Si es falso, no quiero que este valor se muestre en el menú desplegable. Desafortunadamente, todavía no he descubierto cómo puedo hacer esto directamente.

Respuesta1

Como parece que no es nada trivial usar solo sus funciones, lo que terminé haciendo fue usar una Macro (que quería evitar).

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

Esto se repetirá a través de mi tabla existente y se copiarán en un nuevo rango solo los proyectos activos. La validación de datos apunta a la nueva tabla.

información relacionada