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

Beiträge aus den Excel-Beispielen zum Thema "Mit Schleife, Zeilen automatisch ausblenden"