Zeilen in anderem Tabellenblatt ausblenden
#1
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
Antworten Top
#2
Hi,

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

Der zweite Teil der Anfrage sollte schon funktionieren, oder?

CU
Oberon
Antworten Top
#3
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?
Antworten Top
#4
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
[-] Folgende(r) 1 Nutzer sagt Danke an Oberon für diesen Beitrag:
  • mauritius5
Antworten Top
#5
Es klappt - vielen, vielen Dank!!!
Antworten Top
#6
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.
Antworten Top
#7
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
Antworten Top
#8
Hat geklappt. Vielen herzlichen Dank!!!

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


Gehe zu:


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