Option Explicit
' ****************************************************************
' Autor/en und Original-Quelltext unter:
' https://www.online-vba.de/vba_leerezsausblenden.php
' Verwendung der Quelltexte auf eigene Gefahr!
' Es gelten die Nutzungsbedingungen von https://www.online-vba.de
' ****************************************************************
Public Sub OVBAde_LeereSpaltenUndZeilenAusblenden()
Call OVBAde_LeereSpaltenAusblenden
Call OVBAde_LeereZeilenAusblenden
End Sub
Public Sub OVBAde_LeereSpaltenAusblenden()
Dim s As Long
Dim sMAX As Long
Dim z As Long
Dim zMAX As Long
Dim bAusblenden As Boolean
sMAX = ActiveSheet.UsedRange.Columns.Count + ActiveSheet.UsedRange.Column - 1
zMAX = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row - 1
Application.ScreenUpdating = False
'Schleife über alle Spalten
For s = 1 To sMAX
'Pro Spalte prüfen wir alle Zellenwerte, ob irgendwo etwas eingetragen ist.
'Ist etwas eingetragen wird die Zeile nicht ausgeblendet.
bAusblenden = True
For z = 1 To zMAX
If Trim(CStr(ActiveSheet.Cells(z, s).Text)) <> "" Then
bAusblenden = False
Exit For
End If
Next z
If bAusblenden = True Then
ActiveSheet.Columns(s).EntireColumn.Hidden = True
End If
Next s
Application.ScreenUpdating = True
End Sub
Public Sub OVBAde_LeereZeilenAusblenden()
Dim s As Long
Dim sMAX As Long
Dim z As Long
Dim zMAX As Long
Dim bAusblenden As Boolean
sMAX = ActiveSheet.UsedRange.Columns.Count + ActiveSheet.UsedRange.Column - 1
zMAX = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row - 1
Application.ScreenUpdating = False
'Schleife über alle Zeilen
For z = 1 To zMAX
'Pro Zeile prüfen wir alle Zellenwerte, ob irgendwo etwas eingetragen ist.
'Ist etwas eingetragen wird die Zeile nicht ausgeblendet.
bAusblenden = True
For s = 1 To sMAX
If Trim(CStr(ActiveSheet.Cells(z, s).Text)) <> "" Then
bAusblenden = False
Exit For
End If
Next s
If bAusblenden = True Then
ActiveSheet.Rows(z).EntireRow.Hidden = True
End If
Next z
Application.ScreenUpdating = True
End Sub