Supportnet / Forum / Tabellenkalkulation
leere Zeilen ausblenden aber immer eine leere lassen
Frage
Hi,
ich hab mal wieder ein etwas ausführlicheres problem.
es gibt zwar viele lösungsansätze aber direkt eines was auf meine anforderung passt habe ich noch nicht gefunden.
Also ich habe zeilen in denen allerhand drin steht.
alle anderen zeilen darunter sind nur lästig, deswegen sollten sie alle ausgeblendet wqerden BIS auf eine!
Wenn diese eine leere Zeile beschrieben wird soll eine neue leere auftauchen.
Sodass immer eine leere zeile unter den beschriebenen zeilen ist.
geht das?
Antwort 1 von rainberg
Hallo,
kopiere folgenden Code in den Codebereich der betreffenden Tabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
If Rows("65536:65536").EntireRow.Hidden = False Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 1 & ":" & 65536) _
.EntireRow.Hidden = True
ElseIf Target.Row = Cells.Find("*", searchdirection:=xlPrevious).Row Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 2 & ":" & Cells _
.Find("*", searchdirection:=xlPrevious).Row + 2).EntireRow.Hidden = False
End If
End Sub
Gruß
Rainer
kopiere folgenden Code in den Codebereich der betreffenden Tabelle.
Private Sub Worksheet_Change(ByVal Target As Range)
If Rows("65536:65536").EntireRow.Hidden = False Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 1 & ":" & 65536) _
.EntireRow.Hidden = True
ElseIf Target.Row = Cells.Find("*", searchdirection:=xlPrevious).Row Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 2 & ":" & Cells _
.Find("*", searchdirection:=xlPrevious).Row + 2).EntireRow.Hidden = False
End If
End Sub
Gruß
Rainer
Antwort 2 von rainberg
sorry, Code hat einen Fehler.
So ist er richtig.
Private Sub Worksheet_Change(ByVal Target As Range)
If Rows("65536:65536").EntireRow.Hidden = False Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 1 & ":" & 65536) _
.EntireRow.Hidden = True
ElseIf Target.Row = Cells.Find("*", searchdirection:=xlPrevious).Row Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 1 & ":" & Cells _
.Find("*", searchdirection:=xlPrevious).Row + 1).EntireRow.Hidden = False
End If
End Sub
Gruß Rainer
So ist er richtig.
Private Sub Worksheet_Change(ByVal Target As Range)
If Rows("65536:65536").EntireRow.Hidden = False Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 1 & ":" & 65536) _
.EntireRow.Hidden = True
ElseIf Target.Row = Cells.Find("*", searchdirection:=xlPrevious).Row Then
Rows(Cells.Find("*", searchdirection:=xlPrevious).Row + 1 & ":" & Cells _
.Find("*", searchdirection:=xlPrevious).Row + 1).EntireRow.Hidden = False
End If
End Sub
Gruß Rainer
Antwort 3 von 911Penta
boa!
ich probiers gleich mal aus!!!!
ich probiers gleich mal aus!!!!
Antwort 4 von 911Penta
klappt soweit wenn ich die 1 in deinem code gegen eine 2 ersetze! aber wenn ich in die letzte leere zeile etwas neues reinschreibe kommt keine neue leere sondern nur ein fehler....kann man da noch was machen?

