Leere Zeilen und Spalten ausblenden
Ausgangslage - Was tut dieser Code-Schnipsel?
Die folgenden Beispiel-Makros prüfen das aktuelle Arbeitsblatt Zeilen- und Spaltenweise. Leere Spalten und/oder Zeilen werden dabei ausgeblendet.
Ergebnisse statt Aufwand & Arbeit?
Wir liefern Ergebnisse - Schicken Sie uns kurz Ihre Datei und Ihre Wünsche; wir integrieren den notwendigen Code professionell, beheben ggf. vorhandene Fehler, machen optional ein Code-Review, liefern bei Bedarf Performance-Optimierungen & setzen gewünschte Erweiterungen effizient für Sie um (und das zum Festpreis nach kurzer Sichtung).
Express-Service beauftragen
Der Quelltext
Option Explicit
' Original-Quelltext unter: https://www.online-vba.de/leere-zeilen-und-spalten-ausblenden
' Express-Hilfe für VBA unter https://www.online-vba.de/vba-expresshilfe
' Es gelten die Nutzungsbedingungen von 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
Das könnte Sie auch interessieren:
Mit IT-Sicherheits-Baselines priorisieren wir Maßnahmen nach Risiko und Kosten-Nutzen – ohne Overengineering. VBA-Hilfe für Berlin mit klaren Paketen und Festpreisen.
Anmerkungen und Hinweise
Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2017.
Die Nutzung erfolgt auf eigene Gefahr.
Bitte denken Sie immer zuerst an eine ausreichende Datensicherung.
Wir können keinen kostenlosen Support anbieten.
Es gelten unsere Nutzungsbedingungen.
