Clever-Excel-Forum

Normale Version: Zeilen in anderem Tabellenblatt ausblenden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
    Cells.EntireRow.Hidden = False
    If Range("A1").Value = "Online" Then
        Rows("10:20").EntireRow.Hidden = True
    ElseIf Range("A1").Value = "Präsenz" Then
        Rows("21:30").EntireRow.Hidden = True
    End If
End If
End Sub
Liebe Leute

Obigen Code würde ich gerne insofern anpassen, dass die Zeilen im Tabellenblatt 2 ausgeblendet werden und nicht im Tabellenblatt 1. Die Zelle A1 steht im Tabellenblatt 1 und man sollte zwischen "Präsenz" und "Online" hin und her springen können und die ausgeblendeten Zeilen sollen sich dann jeweils sogleich anpassen.

Könnt ihr mir helfen?

Herzlichen Dank und liebe Grüsse
mauritius5
Hi,

du musst nur vor "Rows(...." jeweils auf das gewünschte Tabellenblatt referenzieren.

Der zweite Teil der Anfrage sollte schon funktionieren, oder?

CU
Oberon
Vielen Dank für die Antwort.

Hab ich bei den ersten Rows gemacht. Dies ging dann auch. Nur konnten die zweiten Rows im Tabellenblatt1 dann nicht mehr ausgeblendet werden. Ebenfalls wurden die Rows im Tabellenblatt2 nicht wieder eingeblendet, wenn ich die Zelle leerte.

Wie würdest du den Code denn schreiben, wenn ich bei "Online" die Rows auf dem Tabellenblatt1 ausblenden und bei "Präsenz" die Rows im Tabellenblatt2 ausgeblendet haben möchte?
Hi,

versuch es mal so:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Worksheets("Tabelle1").Range("A1")) Is Nothing Then Exit Sub
    Worksheets("Tabelle2").Rows("10:20").EntireRow.Hidden = Worksheets("Tabelle1").Range("A1").Value = "Online"
    Worksheets("Tabelle2").Rows("21:30").EntireRow.Hidden = Worksheets("Tabelle1").Range("A1").Value = "Präsenz"
End Sub

CU
Oberon
Es klappt - vielen, vielen Dank!!!
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Worksheets("Zusammenfassung").Range("A2:D2")) Is Nothing Then Exit Sub
    Worksheets("Institutionelle Kompetenzen").Rows("4,16,20").EntireRow.Hidden = Worksheets("Zusammenfassung").Range("B2").Value = "Online"
    Worksheets("Institutionelle Kompetenzen").Rows("17,21").EntireRow.Hidden = Worksheets("Zusammenfassung").Range("B2").Value = "Präsenz"
End Sub

Habs nun mit den Originaldaten versucht, dann klappt es allerdings nicht mehr - ich seh den Fehler nicht.
Könnt ihr mir helfen?

Im Arbeitsblatt "Zusammenfassung" habe ich Dropdown in den Zellen A2:D2.
Im Arbeitsblatt "Institutionelle Kompetenzen" soll es mir die Zeilen 4,16,20 ausblenden, wenn in B2 im Arbeitsblatt "Zusammenfassung" "Online" steht. Wenn in derselben Zelle "Präsenz" steht, soll es mir allerdings die Zeilen 17,21 ausblenden.
Hi,

versuch es mal so:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Worksheets("Zusammenfassung").Range("B2")) Is Nothing Then Exit Sub
    Worksheets("Institutionelle Kompetenzen").Range("A4, A16, A20").EntireRow.Hidden = Worksheets("Zusammenfassung").Range("B2").Value = "Online"
    Worksheets("Institutionelle Kompetenzen").Range("A17, A21").EntireRow.Hidden = Worksheets("Zusammenfassung").Range("B2").Value = "Präsenz"
End Sub

Da Dich nur B2 interessiert würde ich auch nur die Zelle bei Intersect nehmen.

CU
Oberon
Hat geklappt. Vielen herzlichen Dank!!!

Verstehe allerdings nicht, wieso es mit Rows nicht geklappt hat?!