Excel (VBA): Zeilen automatisch ausblenden

2016-06-06 von Mario

Vor kurzem wurde eine Aufgabe an mich herangetragen. Mit Hilfe von MS Excel soll eine Statusliste gepflegt werden.

ausblenden01

Wenn in der Spalte “Status” der Wert “Erledigt” eingetragen wird,

ausblenden02

soll automatisch die entsprechende Zeile (3) ausgeblendet werden.

ausblenden03

Für die Umsetzung habe ich ein Makro erstellt, welches unter dem Reiter “Entwicklertools – Visual Basic” eingebunden wird.

ausblenden03a

Daraufhin öffnet sich der Visual Basic for Application Editor. Für die Einbindung muss die entsprechende Tabelle gewählt

ausblenden04

und der folgende Quellcode eingefügt werden:

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
    
    Dim i As Long, l_rowCount As Long
    
    'get last filled cell in column D
    l_rowCount = Cells(Rows.Count, 4).End(xlUp).Row
    
    'loop backwards and hide row
    For i = l_rowCount To 1 Step -1
      If LCase(Cells(i, 4).Text) = "erledigt" Then
        Cells(i, 4).EntireRow.Hidden = True
      End If
    Next i
    
End Sub

 

Bei jeder Aktualisierung/Änderung in der Tabelle 1 wird das Makro automatisch ausgeführt. Wenn in einer Zeile in der Spalte D der Wert “erledigt” eingegeben wird, erfolgt automatisch ein Ausblenden der jeweiligen Zeile.

 

Die Beispieldatei zum Download.

Kategorie: IT Schlagwörter: , , , , ,