Zeilen abhängig von der Pulldown-Liste ausblenden und einblenden

Zeilen abhängig von der Pulldown-Liste ausblenden und einblenden

Ich habe eine Zelle (D3) mit einem Pulldown-Menü mit 8 Elementen (alle Wörter). Abhängig vom ausgewählten Pulldown-Element möchte ich alle anderen Zeilen ohne dieses bestimmte Wort in Spalte K (11 Spalten vom Anfang an) ausblenden.

Ich brauche außerdem eine Option zum Anzeigen aller Zeilen, wenn „Alle Zeilen“ im Pulldown-Menü ausgewählt ist.

Irgendwelche Ideen zum VBA, um den Zellenwert des Pulldown-Menüs zu verknüpfen?

Und wie verknüpfe ich den VBA-Code mit dem Pulldown-Menü, wenn es ausgewählt ist?

Vielen Dank, ich bin für jede Hilfe dankbar.

Sieht dieser Code richtig aus? Sub PhaseTargettoStart()

Dim rMyCell As Range Set rMyCell = Range("D3") BeginRow = 6 EndRow = 301 ChkCol = 10 Wenn Range("Audit!D3") = "Quellauswahl" Dann Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "Source Selection + 4 weeks" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "Step 5 + 8 weeks" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "TKO" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "OTOP" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "VP" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "Process Audit" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "PDR" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "PS" Then
Rows("6:301").EntireRow.Hidden = False

Else
If Range("Audit!D3") = "Show All" Then
Rows("6:301").EntireRow.Hidden = True

End If

End Sub

Antwort1

Beim Formatieren Ihres Dropdown-Menüs geben Sie eine Zelle an, die das Ergebnis des im Menü ausgewählten Elements enthalten soll.

Dies wird als "Zellenlink" bezeichnet und enthält immer eineNummerentspricht der Position der Benutzerauswahl in der Dropdown-Menüliste.

Sie können INDEX() verwenden, um den tatsächlichen Wert des Menüelements (aus der Liste der Menüelemente) abzurufen, unddiese Tutorial-Seitezeigt, wie Zeilen mit VBA ausgeblendet/einblendet werden.

Ich werde Ihnen dabei helfen, aber diese Site ist keine Site, auf der Sie das Coden für mich erledigen können. Sie müssen sich die Zeit nehmen, das Coden in VBA zu lernen.

Zuerst müssen Sie Ihre Dropdown-Liste richtig einrichten. Im Bild unten habe ich einige Daten ähnlich Ihren mit einer Dropdown-Liste (auch als Kombinationsfeld bekannt) eingerichtet.

Bildbeschreibung hier eingeben

Hier habe ich das Steuerelement formatiert und den Eingabebereich (Listenelemente) als A2:A8 und die Zellverknüpfung als B2 definiert. Wenn ich „Alle anzeigen“ aus der Dropdown-Liste auswähle, zeigt Zelle B2 7 an, da „Alle anzeigen“ das 7. Element in der Liste ist.

Ihre Aufgabe besteht nun darin, eine ähnliche Dropdown-Liste zu erstellen und ihr dieses Makro zuzuweisen:

Sub ShowHideRows()
'Set up variables
Dim ResultText As String
        
'Initialize variables
'If choice is "Show All", set ResultText to ABCD, a value that won't be found
'Otherwise, get the text from the list
If Range("B2") = 7 Then
    ResultText = "ABCD"
Else
    ResultText = Application.WorksheetFunction.Index(Range("A2:A7"), Range("B2"))
End If

MsgBox (ResultText)
        
End Sub

Wenn Sie alles richtig machen, sollte jedes Mal, wenn Sie ein Element aus der Liste auswählen, eine Meldung mit dem von Ihnen ausgewählten Listenelement angezeigt werden.

Wenn Sie mehr über das Schreiben und Debuggen von VBA oder das Zuweisen eines VBA-Moduls zu einem Steuerelement erfahren möchten, suchen Sie im Internet nach Möglichkeiten, diese Dinge zu recherchieren.

Stellen Sie hier Ihre Fragen, wenn Sie auf Probleme stoßen.

verwandte Informationen