Herbers Excel-Forum - das Archiv

Zeilen Zellenabhängig ein-ausblenden

Bild

Betrifft: Zeilen Zellenabhängig ein-ausblenden
von: Tom

Geschrieben am: 03.01.2007 20:54:29
Hallo Excelexperten
Möchte nachfolgendes gerne automatisch ausführen lassen.
Es geht um den Zellbereich d12 bis d80
Die Zeilen 12, 18, 27, 36, 45, 54, 63, 72 sollen immer angezeigt werden.
zeilen 13-17, 19-26, 28-35,.... sind variabel
Ist nun Zelle D12 nicht leer, so soll Zeile 13 eingeblendet werden.
Ist nun Zelle D13 nicht leer, so soll Zeile 14 eingeblendet werden.
Ist nun Zelle D14 nicht leer, so soll Zeile 15 eingeblendet werden.
....
Ist nun Zelle D13 leer, so soll Zeile 14 wieder ausgeblendet werden.
Ist nun Zelle D12 leer, so soll Zeile 13 wieder ausgeblendet werden.
...
Desweiteren soll bei den ausgelendet Zeilen die jeweiligen Zellen in den Spalten
B+C (verbunden), D, E, F, H, I, J gelöscht werden.
Habe schon diverse Funktionen und Codes ausprobiert, da ich leider erst am anfang der vba-welt stehe fehlt mir noch einiges an wissen. :-(
Viele grüße Tom
Bild

Betrifft: AW: Zeilen Zellenabhängig ein-ausblenden
von: fcs

Geschrieben am: 03.01.2007 22:26:38
Hallo Tom,
hier ein Code mit den Funktionen.
Den Code muss du im VBA-Editor unter der Tabelle einfügen in der die Zeilen ein-/ausgeblendet werden sollen.
Gruss
Franz
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Column = 4 Then 'Prüfung ob Änderung in Spalte D
Select Case Target.Row
Case 12 To 16
Call Zellen(Target, 17)
Case 18 To 25
Call Zellen(Target, 26)
Case 27 To 34
Call Zellen(Target, 35)
Case 36 To 43
Call Zellen(Target, 44)
Case 45 To 52
Call Zellen(Target, 53)
Case 54 To 61
Call Zellen(Target, 62)
Case 63 To 70
Call Zellen(Target, 71)
Case 72 To 79
Call Zellen(Target, 80)
Case Else
'do nothing
End Select
End If
End Sub
Sub Zellen(Zelle As Range, Zeile As Long)
'Zeilen ein-/ausblenden, Zellinhalte löschen
'Zelle = geänderte Zelle in Spalte D (Target)
'Zeile = Nummer der letzten Zeile im Zeilenblock
If IsEmpty(Zelle) Then
Me.Range(Rows(Zelle.Row + 1), Rows(Zeile)).Hidden = True
Me.Range(Me.Cells(Zelle.Row + 1, "B"), Me.Cells(Zeile, "F")).ClearContents
Me.Range(Me.Cells(Zelle.Row + 1, "H"), Me.Cells(Zeile, "J")).ClearContents
Else
Me.Rows(Zelle.Row + 1).Hidden = False
Zelle.Offset(1, 0).Select
End If
End Sub

Bild

Betrifft: AW: Zeilen Zellenabhängig ein-ausblenden
von: Tom
Geschrieben am: 04.01.2007 18:23:10
Hallo Franz
Vielen Dank. Habs eingefügt und funktioniert. Danke
Gruß tom
 Bild
Excel-Beispiele zum Thema "Zeilen Zellenabhängig ein-ausblenden"
Zeilenhöhe in cm festlegen Summe gefilterter Zeilen
Zeilenumbruch Leere Zeilen löschen
Spalten/Zeilen aus- und einblenden Zeilenumbruch in Formel erzwingen
Zeilen und Spalten über ein Drehfeld ein- und ausblenden Alle Kopf-/Fußzeilen-Festlegungen löschen
Fußzeilen beim Öffnen eintragen Zellinhalte zeilenweise sortieren