Startseite Inhaltsverzeichnis Nutzungsbedingungen Datenschutz Impressum Weitere Informationen

CODE-SCHNIPSEL

Leere Zeilen und Spalten ausblenden

VBA und Makros • Codeschnipsel • Arbeitsblatt • Zeilen und Spalten • Leer • Ausblenden

Ausgangslage ... Was tut der Codeschnipsel?

Die folgenden Beispiel-Makros prüfen das aktuelle Arbeitsblatt Zeilen- und Spaltenweise. Leere Spalten und/oder Zeilen werden dabei ausgeblendet.

VBAVBA Codeschnipsel
XLSQuelltext zur Verwendung mit Microsoft® Excel®

Der Quelltext ...

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

Anmerkungen und Hinweise ...

Dieser Codeschnipsel wurde geschrieben von Marc Wershoven im Jahr 2017.
Es gelten die Nutzungsbedingungen von Online-VBA.de.
TOTOP
ANZEIGE