Excel Dropdown mit Bedingung

356
Alexandre Alves

Ich habe eine Weile gesucht, ohne eine Lösung für mein Problem finden zu können. A hat eine Tabelle mit dem Namen tbl_lov, die die Liste der Werte enthält, die in einer Dropdown-Liste über die indirekte Funktion verwendet werden. INDIRECT ("tbl_lov [ProjNR]")

Da Projekte kommen und gehen, habe ich auf tbl_lov eine Spalte namens active, die den Wert True oder False enthält. Wenn es falsch ist, möchte ich nicht, dass dieser Wert in der Dropdown-Liste angezeigt wird. Leider habe ich noch nicht herausgefunden, wie ich das direkt machen kann.

0

1 Antwort auf die Frage

0
Alexandre Alves

So wie es aussieht, ist es nichts Triviales, nur die Funktionen zu benutzen. Was ich am Ende getan habe, war ein Makro (das ich vermeiden wollte).

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 

Dies wird meine vorhandene Tabelle durchlaufen und nur die aktiven Projekte in einen neuen Bereich kopieren. Die Datenüberprüfung zeigt auf die neue Tabelle.