Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1460to1464
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Leere Zeilen ausblenden mit VBA

Leere Zeilen ausblenden mit VBA
23.11.2015 14:03:36
Michael
Hallo,
ich suche nach einer Möglichkeit beim öffnen einer Excel Datei bei leeren Zellen in der Spalte B die gesamte Zeile auszublenden. Dazu habe ich diesen Code gefunden:
Private Sub Workbook_Open()
Dim rngBlnk As Range
On Error Resume Next 'in case no blanks are present...
Set rngBlnk = Range("B1:B4600").SpecialCells(xlCellTypeBlanks)
On Error GoTo 0
If Not rngBlnk Is Nothing Then
Debug.Print rngBlnk.Address()
rngBlnk.EntireRow.Hidden = False
End If
End Sub
leider funktioniert es nicht weil ich scheinbar Formeln in den Zellen hab. Die formeln sollen bestehen bleiben, da ich hiermit Werte aus anderen Dateien rüber hole falls vorhanden. Wie müsste ich den Code anpassen damit trotz der Formeln leere Zellen (ohne Werte) und damit die gesamte Zeile ausgeblendet wird.
Gruß
Michael

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Leere Zeilen ausblenden mit VBA
23.11.2015 14:16:42
Rudi
Hallo,
dann musst du alle Zellen auf "" prüfen.
Sub aaa()
Dim r As Range, rBlank As Range
For Each r In Range(Cells(1, 2), Cells(Rows.Count, 2).End(xlUp))
If r = "" Then
If rBlank Is Nothing Then
Set rBlank = r
Else
Set rBlank = Union(rBlank, r)
End If
End If
Next
If Not rBlank Is Nothing Then rBlank.EntireRow.Hidden = True
End Sub
Gruß
Rudi

AW: Leere Zeilen ausblenden mit VBA
23.11.2015 14:34:19
Michael
Danke!

AW: Leere Zeilen ausblenden mit VBA
23.11.2015 14:17:17
Daniel
Hi
merke: Zellen die eine Formel enthalten, sind nie leer.
wenn das Formelergebnis der Leerstring "" enthält diese Zelle technisch gesehen einen Text.
am besten ist, du verwendest den Autofilter, denn dieser unterscheidet nicht zwischen echten Leerzellen und Zellen mit dem Formelergebnis "".
der Code wäre dann:
Private Sub Workbook_Open()
ActiveSheet.Usedrange.Autofilter Field:=2, Criteria1:=""
End Sub

den ursprünglichen Code könntest du verwenden, wenn die Formeln in Spalte B entweder den Leerstring oder ansonsten eine Zahl bzw Datum als Ergebnis ausgeben, dann könnten die .SpecialCells diesen unterschied erkennen und die Zellen mit Text ausblenden:
Set rngBlnk = Range("B1:B4600").SpecialCells(xlCellTypeFormulas, 2)

wobei die 2 hier für Text steht und das .SpecialCells hier alle Zellen findet, die eine Formel enthalten die einen Text als Ergebnis haben.
andersrum geht's natürlich auch, dh wenn deine Formeln normalerweise Texte ausgeben, dann müssest du die Formeln so umgestalten, dass statt dem Leerstring die Zahl 0 ausgeben wird.
dann könntest du alle Zeilen mit Zahl in Spalte B ausblenden:
Set rngBlnk = Range("B1:B4600").SpecialCells(xlCellTypeFormulas, 1)

die 1 steht hier für Zellen mit Zahl als Inhalt.
Gruß Daniel

Anzeige
AW: Leere Zeilen ausblenden mit VBA
23.11.2015 14:34:49
Michael
Danke für die ausführliche Erläuterung!

220 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige