AW: VBA Tabelle komplett leer?
10.12.2021 18:10:19
Yal
Moin Werner,
UsedRange hat manchmal seine Tücken. Man muss es "ausschüteln", um sicherzustellen, dass es aktuell ist.
Das geht u.a. durch die Erneuerung der Zeilenhöhe.
Dann kann man die Adresse von UsedRange abfragen. Bei leer ist es $A$1.
Dann prüft man, ob A1 leer ist:
Sub IstLeer()
Me.UsedRange.RowHeight = Me.Rows(1).RowHeight
If Me.UsedRange.Address = "$A$1" And IsEmpty(Range("A1")) Then MsgBox "ganz schön leer hier!"
End Sub
Residuelle Gestaltung, wie Farbe in einer Zelle, stört natürlich den UsedRange.
Dann muss man vielleicht auf die Zähhlung der Konstanten und Formeln weichen:
Sub NichtLeerezellen_zählen()
Dim hatKonstante As Boolean
Dim hatFormeln As Boolean
On Error Resume Next
hatKonstante = CBool(Me.Cells.SpecialCells(xlCellTypeConstants, 23).Count)
hatFormeln = CBool(Me.Cells.SpecialCells(xlCellTypeFormulas, 23).Count)
MsgBox "die Tabelle ist " & IIf(hatFormeln Or hatKonstante, "befüllt", "leer")
End Sub
VG
Yal