VBA-Spalte löschen

Normalerweise haben wir im Excel-Arbeitsblatt zwei verschiedene Methoden zum Löschen von Spalten, eine als Tastenkombination und eine andere mit der Rechtsklick- und Einfügemethode. In VBA müssen wir jedoch den Befehl delete und die gesamte Spaltenanweisung verwenden, um jede Spalte zusammen zu löschen Dies bedeutet, dass wir, wenn wir eine einzelne Spalte löschen müssen, eine einzelne Spaltenreferenz angeben, für die mehreren Spalten jedoch mehrere Spaltenreferenzen.

Excel VBA Spalte löschen

Wir führen viele Excel-Aktionen aus, z. B. Ausschneiden, Kopieren, Einfügen, Hinzufügen, Löschen, Einfügen und viele solche Dinge, die wir regelmäßig ausführen. Wir können alle diese Aktionen mithilfe der VBA-Codierung verwenden. Eines der wichtigen Konzepte, die wir in VBA lernen müssen, ist die „Löschspalte“. In diesem Artikel zeigen wir Ihnen, wie Sie diese Option zum Löschen von Spalten in VBA verwenden.

Was bewirkt das Löschen einer Spalte in Excel VBA?

Wie der Name schon sagt, wird die angegebene Spalte gelöscht. Um diese Aufgabe auszuführen, müssen wir zuerst identifizieren, welche Spalte wir löschen müssen. Die Auswahl der zu löschenden Spalten unterscheidet sich von Szenario zu Szenario. Daher werden wir einige der wichtigen und häufig auftretenden Szenarien in diesem Artikel behandeln.

Das Löschen der Spalten ist einfach. Zuerst müssen wir die COLUMNS-Eigenschaft verwenden, um die Spalte auszuwählen. Nachfolgend finden Sie die Syntax der Column Delete-Methode in VBA.

Spalten (Spaltenreferenz). Löschen

So können wir den Code folgendermaßen konstruieren:

Spalten (2). Löschen oder Spalten ("B"). Löschen

Dadurch wird die Spaltennummer 2, dh Spalte B, gelöscht.

Wenn wir mehrere Spalten löschen möchten, können wir keine Spalten eingeben. Wir müssen die Spalten durch Spaltenüberschriften, dh Alphabete, referenzieren.

Spalten ("A: D"). Löschen

Dadurch wird die Spalte von A nach D gelöscht, dh die ersten 4 Spalten.

Auf diese Weise können wir die Methode "Spalte löschen" in VBA verwenden, um die bestimmten Spalten zu löschen. Im folgenden Abschnitt sehen wir weitere Beispiele, um es besser zu verstehen. Weiter lesen.

Beispiele für die Excel VBA-Methode zum Löschen von Spalten

Unten finden Sie Beispiele zum Löschen von Spalten mit VBA.

Beispiel 1 - Verwenden der Löschmethode

Angenommen, Sie haben das Datenblatt wie folgt.

Wenn Sie den Spaltenmonat "Mar" löschen möchten, wählen Sie zuerst die Spalteneigenschaft aus.

Code:

 Sub Delete_Example1 () Spalten (End Sub 

Erwähnen Sie die Spaltennummer oder das Alphabet. In diesem Fall ist es entweder 3 oder C.

Code:

Sub Delete_Example1 () Spalten (3). End Sub

Verwenden Sie die Delete-Methode.

Hinweis: Sie erhalten keine IntelliSense-Liste zur Auswahl der Löschmethode. Geben Sie einfach "Löschen" ein.

Code:

 Sub Delete_Example1 () Spalten (3) .Delete End Sub 

Oder Sie können die Spaltenadresse wie folgt eingeben.

Code:

 Sub Delete_Example1 () Spalten ("C"). Delete End Sub 

Führen Sie diesen Code mit der Taste F5 aus, oder Sie können ihn manuell ausführen und das Ergebnis anzeigen.

Beide Codes löschen die genannte Spalte auf dieselbe Weise.

Wenn wir mehrere Spalten löschen möchten, müssen wir sie in Alphabeten erwähnen. Wir können hier keine Spaltennummern verwenden.

Wenn wir die Spalten 2 bis 4 löschen möchten, können wir den Code wie folgt übergeben.

Code:

 Sub Delete_Example1 () Spalten ("C: D"). Delete End Sub 

Führen Sie diesen Code manuell über die Ausführungsoption aus oder drücken Sie die Taste F5. Dadurch werden die Spalten "Feb", "Mar" und "Apr" gelöscht.

Beispiel 2 - Löschen von Spalten mit Arbeitsblattnamen

Das Obige ist eine Übersicht über das Löschen von Spalten mit VBA-Code. Dies ist jedoch nicht die bewährte Methode zum Löschen von Spalten. Ohne Bezugnahme auf den Arbeitsblattnamen ist es gefährlich, die Spalte blind zu löschen.

Wenn Sie den Arbeitsblattnamen nicht erwähnt haben, werden die Spalten dieses Blattes gelöscht, unabhängig davon, welches Blatt aktiv ist.

Zuerst müssen wir das Arbeitsblatt anhand seines Namens auswählen.

Code:

 Sub Delete_Example2 () Arbeitsblätter ("Verkaufsblatt"). Wählen Sie End Sub 

Nach der Auswahl des Blattes müssen wir die Spalten auswählen. Wir können die Spalten auch mithilfe des VBA RANGE-Objekts auswählen.

Code:

 Sub Delete_Example2 () Arbeitsblätter ("Verkaufsblatt"). Bereich auswählen ("B: D"). End Sub löschen 

Dadurch werden die Spalten B bis D des Arbeitsblatts „Verkaufsblatt“ gelöscht. Für diesen Code spielt es keine Rolle, welcher aktiv ist, dennoch werden nur die genannten Spalten dieses Blattes gelöscht.

Wir können den VBA-Code auch in der einzelnen Zeile selbst erstellen.

Code:

 Sub Delete_Example2 () Arbeitsblätter ("Verkaufsblatt"). Bereich ("B: D"). Delete End Sub 

Dadurch werden auch die Spalten „B bis D“ gelöscht, ohne das Arbeitsblatt „Verkaufsblatt“ auszuwählen.

Beispiel 3 - Leere Spalten löschen

Angenommen, Sie haben Daten mit alternativen leeren Spalten wie den folgenden.

Löschen Sie also jede alternative Spalte, die wir unter dem folgenden Code verwenden können.

Code:

 Sub Delete_Example3 () Dim k As Integer Für k = 1 bis 4 Spalten (k + 1) .Delete Next k End Sub 

Führen Sie diesen Code mit der Taste F5 oder manuell aus. Dadurch werden alle alternativen leeren Spalten gelöscht und unsere Daten sehen folgendermaßen aus.

Hinweis: Dies funktioniert nur für alternative leere Spalten.

Beispiel 4 - Löschen von Spalten für leere Zellen

Schauen Sie sich nun dieses Beispiel an. Es gibt bestimmte Situationen, in denen wir die gesamte Spalte löschen müssen, wenn eine der leeren Zellen im Datenbereich gefunden wird. Betrachten Sie die folgenden Daten als Beispiel.

Alle gelb gefärbten Zellen sind leer. Hier ist es meine Anforderung, alle leeren Zellenspalten zu löschen. Der folgende Code wird das tun.

Code:

 Sub Delete_Example4 () Range ("A1: F9"). Wählen Sie Selection.SpecialCells (xlCellTypeBlanks). Wählen Sie Selection.EntireColumn.Delete End Sub 

Lassen Sie mich diesen Code Zeile für Zeile für Sie erklären.

Unsere Daten sind von A1 bis F9 vorhanden, daher muss ich zuerst diesen Bereich auswählen, und der folgende Code wird dies tun.

Bereich ("A1: F9"). Wählen Sie

In diesem ausgewählten Zellbereich muss ich die Zellen auswählen, die leer sind. Um eine leere Zelle auszuwählen, benötigen wir eine spezielle Zelleigenschaft. In dieser Eigenschaft haben wir den Zelltyp als leer verwendet.

Selection.SpecialCells (xlCellTypeBlanks) .Select

Als nächstes werden alle leeren Zellen ausgewählt und in der Auswahl wird die gesamte Spalte der Auswahl gelöscht.

Selection.EntireColumn.Delete

So wird unser Endergebnis so aussehen.

Wo immer es die leere Zelle gefunden hat, hat es die gesamte Spalte dieser leeren Zellen gelöscht.

Sie können diese Excel VBA Delete Column hier herunterladen - VBA Delete Column Template