Excel (VBA): Zeilen automatisch ausblenden
Vor kurzem wurde eine Aufgabe an mich herangetragen. Mit Hilfe von MS Excel soll eine Statusliste gepflegt werden.
Wenn in der Spalte “Status” der Wert “Erledigt” eingetragen wird,
soll automatisch die entsprechende Zeile (3) ausgeblendet werden.
Für die Umsetzung habe ich ein Makro erstellt, welches unter dem Reiter “Entwicklertools – Visual Basic” eingebunden wird.
Daraufhin öffnet sich der Visual Basic for Application Editor. Für die Einbindung muss die entsprechende Tabelle gewählt
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.