Herbers Excel-Forum - das Archiv

Mit Schleife, Zeilen automatisch ausblenden

Bild

Betrifft: Mit Schleife, Zeilen automatisch ausblenden
von: Harald

Geschrieben am: 17.02.2005 20:15:02
Hallo VBA-Spezialisten,
kann mir bitte jemand den Code (Schleife) für folgendes Problem mitteilen:
Ich habe eine sehr große Datei, die von anderen Benutzern gefüllt wird und deshalb sehr unübersichtlich ist. Der besseren Übersicht halber möchte ich einen Automatismus einbauen.
Wenn alle 5 Zellen in Spalte D bis H mit Werten gefüllt wurden (also ungleich leer sind), soll die entsprechende Zeile ausgeblendet werden. Diese Prüfung soll zwischen Zeile 10 und 500 stattfinden, ab Zeile 501 nicht mehr.
(Achtung, der eingegebene Wert kann auch 0 sein.)
Eventeull möchte ich eine separate 2.Schleife nach dem selben Prinzip erstellen, welches dann die Eingabe-Zelle in Spalte D-H sperrt.
Ich hoffe, mir kann jemand den Code für diese 2 Schleifen vorgeben.
Vielen Dank im voraus.
Gruß, Harald.
Bild

Betrifft: AW: Mit Schleife, Zeilen automatisch ausblenden
von: Josef Ehrensberger

Geschrieben am: 17.02.2005 20:23:51
Hallo Harald!
Hier mal beides kompiniert, kannst du ja trennen wenn du willst!
Sub AusblendenUndSperren()
Dim lRow As Long
On Error GoTo ERRORHANDLER
Application.ScreenUpdating = False
For lRow = 10 To 500
If Application.CountA(Range(Cells(lRow, 4), Cells(lRow, 8))) = 5 Then
Range(Cells(lRow, 4), Cells(lRow, 8)).Locked = True
Rows(lRow).Hidden = True
End If
Next
ERRORHANDLER:
Application.ScreenUpdating = True
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Bild

Betrifft: Replace("kompiniert", "p", "b") ;-)) o.T.
von: Josef Ehrensberger
Geschrieben am: 17.02.2005 20:28:32
;-))
Bild

Betrifft: AW: Mit Schleife, Zeilen automatisch ausblenden
von: Harald

Geschrieben am: 17.02.2005 20:42:01
Hallo Sepp,
Du bist der Größte !!!
Vielen Dank.
Habe mir noch Text eingebaut, damit ich ähnliche Schleifen künftig vielleicht selber codieren kann.
Gruß, Harald aus Köln

Sub AusblendenUndSperren()
Dim lRow As Long
On Error GoTo ERRORHANDLER
Application.ScreenUpdating = False
For lRow = 10 To 500
If Application.CountA(Range(Cells(lRow, 4), Cells(lRow, 8))) = 5 Then 'Wenn alle 5 Zellen in Spalte D bis H ungleich leer sind, dann:
Range(Cells(lRow, 4), Cells(lRow, 8)).Locked = True 'Zellen in dieser Zeile sperren
Rows(lRow).Hidden = True 'Zeile ausblenden
End If
Next
ERRORHANDLER:
Application.ScreenUpdating = True
End Sub

 Bild
Excel-Beispiele zum Thema "Mit Schleife, Zeilen automatisch 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