Ergänzung/Modifikation
Da die Forderung lautet, dass in Spalte H ein Datum stehen muss,
kann man von unten nach oben die erste (somit in der fraglichen Tabelle von oben nach
unten die letzte) Zelle mit einem Datums-Eintrag bestimmen und dann genau den so ermittelten
Bereich "durchackern". Das setzt natürlich voraus, dass im Tabellenblatt keine andere
Daten bzw. Tabelle UNTER der betreffenden Tabelle angelegt wird, was man bei Excel eigentlich
nur macht, wenn es unvermeidbar ist.
Aber auch dann kann man den Bereich dynamisch bestimmen:
Sollte z.B. ab Zeile 1500 eine ganz andere Tabelle anfangen, kann man im vorliegenden Code
intLastRow =Range("G1").Offset(Active.... usw. durch intLastRow=1500 ersetzen. Vorteil: es wird
nur so oft geprüft und ausgeblendet, wie tatsächlich nötig.
Im konkreten Fall bringt das natürlich nur Millisekunden, sollte man aber auf Dauer angewöhenen, als
"guten Stil" 'sozusagen. Der geänderte Code lautet dann:
Sub hideZero()
Dim Zeile As Range 'Definiert Variable als Range-Objekt
Dim lngLastRow As Long 'Definiert Variable als Long
' von ganz unten nach oben Zeilennummer mit letzten Eintrags suchen
intLastRow = Range("G1").Offset(ActiveSheet.Rows.Count - 1).End(xlUp).Row
For Each Zeile In Sheets("Tabelle1").Range("G2:H2").Resize(intLastRow).Rows 'Schleife über Bereich
If Zeile.Cells(1) = 0 And IsDate(Zeile.Cells(2).Value) Then
Zeile.Hidden = True
End If
Next
End Sub
'Die Abfrage IF wurde bewusst auf 3 Zeilen gelegt. Zwar kann man bei nur 1 Aktion auch alles in eine Zeile
'packen, also
If Zeile.Cells(1) = 0 And IsDate(Zeile.Cells(2).Value) Then Zeile.Hidden = True
'(--> den End If muss man dann entfernen !!)
'Es ist in der Praxis aber hilfreich, einen "ordentlichen" Block zu schreiben, denn - falls z.B. später weitewre Aktionen oder gar ein ELSE - Zweig hinzukommen, verliert man sonst leicht die Übersicht, wo der END IF hingehört.
'Zudem ist dies ein Makro , was man in leicht geänderter Form ständig benötigt.Solchen Code kann man sich als Textdatei abspeichern und immer wieder einbauen + anpassen.
Gruss aus Hessen, Quinoman