Ein- und Ausblenden von Zeilen abhängig von der Pulldown-Liste

846
Opie

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

Ich brauche auch eine Option, um alle Zeilen anzuzeigen, wenn "All Rows" ausgewählt ist, wenn dies im Pulldown-Menü ausgewählt ist.

Irgendwelche Ideen in Bezug auf den VBA in Bezug auf den Pulldown-Menüzellenwert?

Wie verbinde ich den VBA-Code mit dem Pulldown-Menü, wenn ausgewählt?

Vielen Dank und ich freue mich über jede Hilfe.

Sieht der 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 Zeilen ("6: 301"). EntireRow.Hidden = Falsch

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 
-1

1 Antwort auf die Frage

0
Bandersnatch

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 " Zellenverbindung " bezeichnet und enthält immer eine Zahl, die der Position des Benutzers in der Dropdown-Menüliste entspricht.

Sie können INDEX () verwenden, um den tatsächlichen Wert des Menüelements (aus der Liste der Menüelemente) abzurufen. Diese Tutorial-Seite zeigt, wie Sie Zeilen mit VBA ein- / ausblenden.

Ich werde Sie damit anfangen, aber diese Seite ist kein "Code für mich". Sie müssen Zeit investieren, um zu lernen, wie man in VBA codiert.

Zuerst müssen Sie Ihre Dropdown-Liste korrekt einrichten. In der Abbildung unten habe ich einige Daten ähnlich wie bei Ihnen mit einer Dropdown-Liste (auch als Kombinationsfeld bezeichnet) eingerichtet.

Hier habe ich das Steuerelement formatiert und den Eingabebereich (Listenelemente) als A2: A8 und den Cell Link als B2 definiert. Wenn ich in der Dropdownliste "Alle anzeigen" auswähle, wird in Zelle B2 "7" angezeigt, da "Alle anzeigen" der 7. Eintrag in der Liste ist.

Jetzt müssen Sie eine ähnliche Dropdown-Liste erstellen und dieses Makro zuweisen:

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, sollten Sie immer dann, wenn Sie ein Element aus der Liste auswählen, eine Nachricht mit dem von Ihnen ausgewählten Listenelement anzeigen.

Wenn Sie mehr über das Schreiben und Debuggen von VBA oder das Zuweisen eines VBA-Moduls zu einem Steuerelement lernen müssen, verwenden Sie das Internet und recherchieren Sie, wie Sie dies tun können.

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

Sieht der Code richtig aus? Opie vor 7 Jahren 0
Nein, hier sind einige Dinge falsch. Sie sollten dies mit einer Schleife tun, nicht mit einer Reihe verschachtelter If ... Then-Anweisungen. Und Ihre Zellverbindung kann nicht die Zelle sein, in der sich Ihre Dropbox befindet. Zuerst formatieren Sie Ihre Dropbox durch Klicken mit der STRG-Taste und wählen Sie "Format Control ...". Geben Sie in diesem Dialogfeld eine Zelle an, in der die Ausgabe Ihrer Dropbox gespeichert werden soll. Angenommen, Sie wählen Ihre Zellverbindung als A1 aus und die Liste der Menüelemente befindet sich in B1: B10. Mehr kommt ... Bandersnatch vor 7 Jahren 0