Zeilen bedingt löschen (Microsoft Excel)
Wenn Sie mit Datentabellen arbeiten, die Informationen enthalten, die Sie von einer anderen Person erhalten haben, möchten Sie möglicherweise die Datenmenge in der Tabelle reduzieren, indem Sie Zeilen löschen, wenn eine bestimmte Bedingung erfüllt ist. Es gibt verschiedene Möglichkeiten, wie Sie sich einer solchen Aufgabe nähern können.
Die erste Methode ist die Verwendung der AutoFilter-Funktion von Excel. Dies funktioniert besonders gut, wenn Sie ein ziemlich einfaches Kriterium zum Löschen von Zeilen haben. Wenn Sie den AutoFilter aktivieren, platziert Excel Pulldown-Schaltflächen rechts neben jeder Zelle in der Kopfzeile der Datentabelle.
Mit diesen Pulldown-Schaltflächen können Sie die Datensätze angeben, die angezeigt werden sollen. Sie sollten einen Filterwert auswählen, bei dem nur die Zeilen angezeigt werden, die Sie löschen möchten. Wenn diese Zeilen angezeigt werden, können Sie sie auswählen und die Menüs verwenden, um die Zeilen zu entfernen.
Wenn Sie AutoFilter deaktivieren, bleiben nur die gewünschten Zeilen übrig.
Eine andere Methode beinhaltet die Verwendung von Makros, um das Löschen für Sie durchzuführen.
Dieser Ansatz funktioniert gut, wenn Sie die Löschvorgänge für viele Daten durchführen müssen oder wenn Sie dies häufig tun. Das folgende Makro kann Zeilen basierend auf einem Schlüsselwert löschen:
Sub DeleteRows() Dim strToDelete As String Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer Dim DeletedRows As Integer strToDelete = InputBox("Value to Trigger Delete?", "Delete Rows") Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = strToDelete Then Rows(J).Select Selection.Delete Shift:=xlUp DeletedRows = DeletedRows + 1 End If Next J MsgBox "Number of deleted rows: " & DeletedRows End Sub
Um das Makro zu verwenden, wählen Sie den Bereich aus, der den Schlüsselbereich abdeckt, der die zu überprüfenden Zeilen abdeckt. Befindet sich der zu prüfende Schlüssel beispielsweise in Spalte G und möchten Sie die Zeilen 5 bis 73 prüfen, wählen Sie den Bereich G5: G73 aus. Wenn Sie das Makro ausführen, werden Sie gefragt, auf welchen Wert es prüfen soll. Wenn Zellen im Bereich G5: G73 den von Ihnen angegebenen Wert enthalten, wird die entsprechende Zeile für diese Zelle gelöscht.
Es gibt offensichtlich andere Möglichkeiten, Zeilen basierend auf einem Wert zu löschen. Eine gute Auswahl verschiedener Methoden finden Sie auf dieser Seite von Dave Hawley bei Ozgrid:
http://www.ozgrid.com/VBA/VBACode.htm
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (2386) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: