Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

DropDown im nächsten Sheet entsprechende Tabelle ausblenden
#1
Guten Morgen zusammen,

ich habe leider ein Problem und komme nicht weiter.
Also, ich habe in meinem ersten Sheet mehrere unabhängige Dropdown Menüs. Dort kann man "yes" oder "no" auswählen.
Bei einem "yes" soll im 2. Sheet, die dazugehörige Tabelle angezeigt werden, bei einem "no" soll die dazugehörige Tabelle ausgeblendet werden.

Ich habe schon einen Code geschrieben, aber leider habe ich immer einen Laufzeitfehler 9.

Kann mir bitte einer helfen?

Code:
Sub Worksheet_Change()
If Worksheets("Haus").Cells(18, 3).Value = "no" Then
Worksheets("Materialien").Rows("10:20").EntireRow.Hidden = True
ElseIf Worksheets("Haus").Cells(18, 3).Value = "yes" Then
Worksheets("Materialien").Rows("10:20").EntireRow.Hidden = False
End If
If Worksheets("Haus").Cells(19, 3).Value = "no" Then
Worksheets("Materialien").Rows("22:32").EntireRow.Hidden = True
ElseIf Worksheets("Haus").Cells(19, 3).Value = "yes" Then
Worksheets("Materialien").Rows("22:32").EntireRow.Hidden = False
If Worksheets("Haus").Cells(20, 3).Value = "no" Then
Worksheets("Materialien").Rows("34:44").EntireRow.Hidden = True
ElseIf Worksheets("Haus").Cells(20, 3).Value = "yes" Then
Worksheets("Materalien").Rows("34:44").EntireRow.Hidden = False
End If
If Worksheets("Haus").Cells(21, 3).Value = "no" Then
Worksheets("Materialien").Rows("46:56").EntireRow.Hidden = True
ElseIf Worksheets("Haus").Cells(21, 3).Value = "yes" Then
Worksheets("Materialien").Rows("46:56").EntireRow.Hidden = False
End If
End Sub

Viele Grüße
ExcelVBAAnfänger
Antwortento top
#2
da fehlt ein "end if"

ein worksheet_change  wird so geschrieben  Private Sub Worksheet_Change(ByVal Target As Range)
Antwortento top
#3
Hallo ralf_b,

das mit dem end if, war nur ein Fehler beim rein kopieren, trotzdem danke.

Habe die Datei jetzt danach "umbenannt" Private Sub Worksheet_Change(ByVal Target As Range), aber jetzt poppt das Feld Makros auf und ich muss ein Makro auswählen um es auszuführen und komischer Weise, kann ich keins auswählen. Also der Name wird nicht angezeigt.

Ich hoffe du/ihr kannst mir weiterhelfen.

Grüße
ExcelVBAAnfänger
Antwortento top
#4
Hallo TE,

ich ging davon aus das du dieses Changeevent deines Arbeitsblattes nutzen möchtest.
Dazu sollte es aber korrekt geschrieben sein. Weil bei mir der Debugger gleich gemeckert hat. 

Das Changeevent ist "Private Sub" d.h. nicht als "normales Makro" zu nutzen.  Dieses Eventmakro tritt immer auf wenn sich etwas am Worksheet ändert. Du erhälst auch noch den Ort (Target) der Änderung mitgeliefert und kannst diesen benutzen.

z.b. Wertet man die Adresse von Target aus um festzustellen welche deiner Dropdown Zellen gerade aktiv ist und dann entsprechend kannst du deine Zeilen ein/ausblenden. 

Möchtest du keine Event benutzen, sondern ein "normales" Makro, dann gibt ihn einen Namen, der nicht schon von Excel genutzt wird.
Antwortento top
#5
Morgen ralf_b,

wenn ich ehrlich bin, habe ich es nicht so ganz verstanden, aber ich habe es jetzt doch geschafft.
Das Problem ist jetzt nur, dass ich dieses Makro in einem "Modul" gespeichert habe. Also wenn ich ein Dropdown umändere, muss ich es aktivieren damit etwas passiert.

Mein Wunsch ist aber, dass ich das Dropdown benutze und es direkt ändert.
Das selbe habe ich schon vorher mit einem anderen Makro gemacht, indem ich mir den Codefenster angezeigt haben lasse, von dem jeweiligen Tabellenblatt und den entsprechenden Code reinkopiert habe.

Oder ist das jetzt ein Problem, dass ich mit einem Dropdown 2 Makros aktiviere?

Code:
Sub Hide_Unhide()
If Sheets("Haus").Cells(18, 3).Value = "no" Then
  Sheets("Material ").Select
    Rows("10:20").Select
    Selection.EntireRow.Hidden = True
ElseIf Sheets("Haus").Cells(18, 3).Value = "yes" Then
    Sheets("Material ").Select
   Rows("10:20").Select
   Selection.EntireRow.Hidden = False
End If
If Sheets("Haus").Cells(19, 3).Value = "no" Then
    Sheets("Material ").Select
   Rows("22:32").Select
    Selection.EntireRow.Hidden = True
ElseIf Sheets("Haus").Cells(19, 3).Value = "yes" Then
    Sheets("Material ").Select
    Rows("22:32").Select
    Selection.EntireRow.Hidden = False
End If

End Sub


Viele Grüße
ExcelVBAAnfänger
Antwortento top
#6
aha, also ganz von vorne?  

mach eine beispiel datei fertig mit dopdowns und deinem makro, dann hier hochladen. dann sehen wir weiter.
Antwortento top
#7


wenn ich dann nämlich beide Codes in dem Codefenster vom Haus einfüge, also untereinander. Und beide Codes abtrenne, also 2 mal Sub() und dann Sub end.

Dann kommt der Code Fehler 1004 und beim ersten ElseIf, die Zeile Rows("10:20").Select wird gelblich makiert.

Viele Grüße
ExcelVBAAnfänger
Antwortento top
#8
das wird so nichts. lade eine Beispieldatei  hoch.
Antwortento top
#9
Ich bin gerade auf der Arbeit und kann hier keine Daten hoch laden, auch wenn es eine Beispiel Datei ist.
Werde es dann heute Nachmittag von zu Hause aus machen.

Schon mal vielen Dank für deine Mühe ralf_b

Viele Grüße
ExcelVBAAnfänger
Antwortento top
#10
Hi ralf_b,

habe jetzt in den Anhang die Datei gepackt, komischerweise, auch wenn ich es komplett gleich gemacht habe, muss ich jetzt auch bei der ersten Aufgabe, also beim verstecken der Schrift, das Makro immer wieder neu starten. Aber gut beim öffnen und ausprobieren wird man es sehen.

Gruß
ExclVBAAnfänger


Angehängte Dateien
.xlsm   ExcelVBAAnfänger.xlsm (Größe: 19,64 KB / Downloads: 3)
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste