Löschen Sie eine Zeile in VBA

Iqra Hasnain 21 Juni 2023
  1. Löschen Sie eine Zeile in VBA
  2. So löschen Sie eine ganze Zeile in VBA
  3. So löschen Sie mehrere Zeilen in VBA
  4. So löschen Sie alternative Zeilen in VBA
  5. So löschen Sie leere Zeilen in VBA
  6. So löschen Sie Zeilen mit bestimmten Werten in VBA
  7. So löschen Sie doppelte Zeilen in VBA
Löschen Sie eine Zeile in VBA

Wir werden anhand von Beispielen in VBA vorstellen, wie wir Zeilen für verschiedene Situationen löschen können.

Löschen Sie eine Zeile in VBA

Das Löschen einer Zeile aus einer Excel-Tabelle ist eine einfache Aufgabe, die mit der Tastaturkürzelmethode oder einer Maus oder einem Touchpad erledigt werden kann. Aber wenn es darum geht, eine Zeile oder viele Zeilen zu löschen, ist die VBA-Route hilfreich, um damit zu arbeiten.

VBA wird verwendet, um Zeilen oder Spalten einer Excel-Tabelle zu löschen, wenn unnötige Felder Teil der Daten sind. Es kann dem Benutzer helfen, eine Spalte unter einer bestimmten Bedingung zu löschen.

Beispielsweise können doppelte Zeilen einfach mit dem VBA-Befehl gelöscht werden.

Dieser Artikel behandelt einige der wichtigsten Beispiele und zugehörige VBA-Codes, die für den Benutzer bei der Arbeit an Excel-Arbeitsblättern hilfreich sein können. Zu diesen mehreren Szenarien gehören:

  1. So löschen Sie eine ganze Zeile

    1.1. Zum Löschen der ersten Reihe

    1.2. Bestimmte Zeile löschen

  2. Um mehrere Zeilen zu löschen

  3. Alternative Zeilen löschen

  4. Um leere Zeilen zu löschen

  5. So löschen Sie Zeilen mit bestimmten Datumswerten

  6. So löschen Sie doppelte Zeilen

So löschen Sie eine ganze Zeile in VBA

Lassen Sie uns nun unser erstes Szenario besprechen, in dem wir versuchen, die erste Zeile in VBA zu löschen. wollen wir die erste Zeile löschen, hilft uns die VBA-Methode EntireRow.Delete.

Lassen Sie uns nun diese Methode in unserem Beispiel verwenden, um die erste Zeile unserer Excel-Tabelle zu löschen.

Wir erstellen ein sub als deleteFirstRow(). Der Code für diesen Zweck ist unten gezeigt.

# VBA
Sub DeleteFirstRow()
ThisWorkbook.Worksheets(1).Rows(1).EntireRow.Delete
End Sub

Ausgang:

Löschen der ersten Zeile mit dem VBA-Code

Das obige Beispiel zeigt, dass dieser Code funktioniert, indem er die Zeile auf eine bestimmte Zahl verweist und dann die Methode EntireRow.Delete verwendet; Daher kann der Code für jede Zeile verwendet werden, indem die Zeilennummer angegeben wird.

Versuchen wir also, die Zeilennummern 7 und 10 mit der obigen Methode zu löschen, wie unten gezeigt.

# VBA
Sub DeleteSpecificRow()
ThisWorkbook.Worksheets(1).Rows(7).EntireRow.Delete
ThisWorkbook.Worksheets(1).Rows(10).EntireRow.Delete
End Sub

Ausgang:

Löschen bestimmter Zeilen mit dem VBA-Code

Das obige Beispiel zeigt, dass wir, wenn wir die Zeilennummer übergeben, die wir löschen möchten, mit der Methode EntireRow.Delete einfach die gesamte Zeile löschen können.

So löschen Sie mehrere Zeilen in VBA

Wir haben im vorherigen Beispiel mehrere Zeilen mit den mehreren EntireRow.Delete-Methoden gelöscht. Aber jetzt werden wir darüber sprechen, wie wir mehrere Zeilen mit nur einer Methode löschen können.

Wir können das range-Objekt in VBA verwenden, um mehrere Zeilen zu löschen. Der Benutzer wählt zuerst die Anzahl der Zellen aus, die aus dem Excel-Blatt gelöscht werden sollen, und übergibt den Bereich wie unten gezeigt.

# VBA
Sub deleteMultipleRow()
Range("A1:C7").EntireRow.Delete
End Sub

Ausgang:

Löschen mehrerer Zeilen mit dem VBA-Code

Das obige Beispiel zeigt, dass wir mit der Methode Range() den Bereich der Zeilen und Spalten übergeben können, die wir mit der Methode EntireRow.Delete löschen möchten.

Mehrere Zeilen und Spalten können direkt aus den Daten entfernt werden. Wir verwenden den VBA-Code, um mehrere Zeilen (Zeile 2 bis Zeile 7) aus den Daten zu entfernen.

# VBA
Rows("2:7").Delete

Ausgang:

Löschen mehrerer Zeilen mit der Zeilenfunktion im VBA-Code

Wenn wir eine Reihe von Spalten (von B bis C) löschen möchten, können wir die folgende Methode verwenden.

# VBA
Columns("B:C").Delete

Ausgang:

Löschen mehrerer Spalten mit der Spaltenfunktion im VBA-Code

So löschen Sie alternative Zeilen in VBA

Excel-Tabellen werden für viele Zwecke verwendet, und es ist eine gängige Software, die zum Speichern von Datensätzen in Form von Excel-Tabellen verwendet wird. Excel-Tabellen sind ein grundlegender Bestandteil des Finanzsystems, da die meisten Daten in Excel-Tabellen gespeichert werden, um das Ergebnis dieser Daten mit Formeln zu finden.

Einige Finanz-Excel-Tabellen enthalten leere Zeilen mit alternativen Nummern, die entfernt werden sollten, um den Datensatz zu verbessern. VBA hilft dem Benutzer, ganze alternative Zeilen zu entfernen, die nicht nützlich sind.

Versuchen wir, wie unten gezeigt, die Zeilen mit alternativen Nummern zu entfernen und zu diesem Zweck ein sub zu erstellen.

Sub AlternateRowDel()
rowLen = Selection.Rows.Count
For a = rowLen To 1 Step -2
    Selection.Rows(a).EntireRow.Delete
Next a
End Sub

Ausgang:

Löschen alternativer Zeilen im VBA-Code

Wie Sie aus dem obigen Unterelement AlternateRowDel() ersehen können, haben wir die Anzahl der Zeilen aus der Auswahl in einer Variablen rowLen gespeichert, die die Gesamtzahl der vollständig zu entfernenden Zeilen darstellt.

In unserem Sub haben wir eine for-Schleife, die mit einem Step -2 läuft, was anzeigt, dass jede zweite Zeile entfernt wird. Wenn wir jede dritte Zeile entfernen möchten, schreiben Sie Schritt -3, und wir können denselben Prozess für jede andere Nummer der alternativen Zeile verwenden, die der Benutzer aus den Daten entfernen möchte.

So löschen Sie leere Zeilen in VBA

Wenn wir mit einer großen Datensammlung arbeiten, besteht die Möglichkeit, dass viele oder wenige Zeilen leer sind. Möglicherweise möchten wir sie mit VBA löschen, da es zeitaufwändig und schwierig sein kann, sie alle zu finden, wenn wir sie manuell löschen.

Code funktioniert normalerweise genauer als Menschen, wenn wir eine große Datensammlung bereitstellen. Eine Methode, SpecialCells, kann diese Zeilen löschen.

Wir können die xlCellTypeBlanks übergeben und nur leere Zellen auswählen. Lassen Sie uns, wie unten gezeigt, ein Beispiel durchgehen und versuchen, alle leeren Zeilen mit VBA zu löschen.

# VBA
Sub RemoveBlankRows()
Selection.SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub

Ausgang:

Löschen von leeren Zeilen im VBA-Code

Das obige Beispiel zeigt, dass wir Hunderte oder Tausende leerer Zeilen mit einer Codezeile löschen können. Wenn wir anfangen, sie manuell zu löschen, kann es Stunden oder Tage dauern.

So löschen Sie Zeilen mit bestimmten Werten in VBA

Manchmal stoßen wir auf eine Situation, in der wir Zeilen löschen müssen, die einen bestimmten Wert enthalten. Und es kann ein schwieriger und hektischer Prozess sein, diese Zeilen manuell zu löschen.

Aber auch für dieses Problem bietet VBA die Lösung. Wir können ein benutzerdefiniertes Sub erstellen, das alle Zeilen durchlaufen und diesen bestimmten Wert finden kann.

Wenn der Wert in einer dieser Zeilen gefunden wird, können wir diese Zeile mit der Methode EntireRow.Delete löschen.

Lassen Sie uns diese Logik in unserem Beispiel verwenden, wie unten gezeigt.

# VBA
Sub RemoveWithValue()
For a = Selection.Rows.Count To 1 Step -1
If Cells(a, 1).Value = "Delete" Then
Cells(a, 1).EntireRow.Delete
End If
Next a
End Sub

Ausgang:

Löschen von Zeilen mit einem bestimmten Wert im VBA-Code

Das obige Beispiel zeigt, dass dieser Code alle Zeilen durchläuft und das Wort delete findet. Wenn in einer dieser Zeilen delete gefunden wurde.

Unser Code löscht diese Zeilen.

So löschen Sie doppelte Zeilen in VBA

Es kann Situationen geben, in denen wir einen Datensatz mit vielen Duplikaten haben, die bei einigen Ergebnissen Probleme verursachen können. Das Löschen von Duplikaten kann auch hektisch sein, wenn wir manuell damit beginnen.

Es kann auch schwierig sein, sich daran zu erinnern, ob ein bestimmter Eintrag schon einmal vorgekommen ist.

Um es einfacher und einfacher zu machen, können wir in VBA eine andere Methode verwenden, RemoveDuplicates. Diese Methode nimmt einen Bereich auf, findet Duplikate und löscht ihn.

Lassen Sie uns dieses Szenario in unserem Beispiel verwenden, wie unten gezeigt.

# VBA
Range("A1:A10").RemoveDuplicates Columns:=1

Ausgang:

Löschen von Zeilen mit doppeltem Wert im VBA-Code

Das obige Beispiel zeigt, dass wir den Bereich von der Zelle a1 bis zur Zelle b10 übergeben haben. Und unser Code findet alle Duplikate und löscht sie.

So verwenden Sie VBA-Code in einer Excel-Tabelle

Manchmal sind Leute verwirrt darüber, wo sie einen VBA-Code schreiben können, um die Skripts auf ihren Excel-Tabellen auszuführen.

Hier sind ein paar Schritte, die wir befolgen können, um einen unserer VBA-Codes in einer beliebigen Excel-Tabelle auszuführen.

  1. Zuerst müssen wir den VBA-Editor öffnen. Wir können den VBA-Editor einfach öffnen, indem wir die folgenden Schaltflächen drücken.

    Zuerst halten wir die ALT-Taste gedrückt und drücken dann die F11-Taste.

  2. Sobald der VBA-Editor geöffnet ist, gehen wir zur Option Ansicht und wählen Projekt-Explorer. Wir können den Projekt-Explorer auch auf der linken Seite des Arbeitsblatts anzeigen, wenn wir in den VBA-Editormodus gelangen.

  3. Jetzt klicken wir mit der rechten Maustaste auf das Objekt, für das wir den Code ausführen möchten.

  4. Jetzt fügen wir unserem Arbeitsblatt ein Modul hinzu. Wir können das Modul einfach zu unserem Arbeitsblatt hinzufügen, indem wir auf Einfügen klicken und Modul auswählen.

  5. Wir kopieren den Code, den wir einfügen möchten, und fügen ihn ein. Oder wenn wir den Code dort schreiben wollen, können wir das tun.

  6. Wir führen den Code aus, indem wir den Cursor halten und die Taste F5 drücken. Wir können den VBA-Code auch ausführen, indem wir auf das grüne Dreieck in der VBA-Symbolleiste klicken.

Verwandter Artikel - VBA Row