Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Excel-Makro Löschen von Spalten mit bestimmten Kriterien

Forumthread: Excel-Makro Löschen von Spalten mit bestimmten Kriterien

Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 10:16:13
Richy89
Liebe Excel-Profis,

kann mir Jemand bitte helfen, um einen Makro zu erstellen mit dem in einem Tabellenblatt nur bestimmte Spalten nach einem Kriterien-Inhalt gelöscht werden.
Die Kriterien sind in Zellen der Zeile 4 enthalten.
Es sollen nur Spalten gelöscht werden bei den der Zelleninhalt der Spalten in Zeile 4 nicht die nachfolgenden Ziffern haben
5

6
9
15
16
18
23
24
26
28
34
35
36
42
54
55
115
122
123
124
126
127
128
129
130
131

Die zu löschenden Spalten, die nicht dieses Kriterium des Zelleninhalts in der Zeile 4 entsprechen können andere Ziffern oder auch leere Zellen sein.
Beispiel-Datei:
https://www.herber.de/bbs/user/180422.xlsx


Excel-Version: MS Office Pro Plus 2021

Vielen Dank für Deine Bemühungen!

LG, Richy
Anzeige
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 10:36:51
UweD
Hallo


so?

In ein Modul.
Blattnamen anpassen.
Die Zahlen, die bleiben sollen stehen auf Blatt2 in A:A untereinander

Arbeitsblatt mit dem Namen 'Tabelle2'
 A
1Behalten
25
36
49
515
616
718
823
924
1026
1128
1234
1335
1436
1542
1654
1755
18115
19122
20123
21124
22126
23127
24128
25129
26130
27131


Sub Spalte_weg()

Dim LC As Integer, I As Integer, TB1 As Worksheet, TB2 As Worksheet, Z As Integer

Set TB1 = Sheets("Tabelle1")
Set TB2 = Sheets("Tabelle2")


With TB1
LC = .Cells(4, .Columns.Count).End(xlToLeft).Column 'letzte Spalte einer Zeile

For I = LC To 1 Step -1
If .Cells(4, I) = "" Or WorksheetFunction.CountIf(TB2.Columns("A:A"), .Cells(4, I)) = 0 Then
.Columns(I).Delete xlLeft
Z = Z + 1

End If
Next

MsgBox Z & " Spalten gelöscht"
End With
End Sub



LG UweD
Anzeige
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 11:17:57
daniel
Hi

mal als Ansatz ohne Makro
1. Liste die Zeilennummern, die du behalten willst, in einen zweiten Tabellenblatt in Spalte A
2. füge in die Zeile 1 folgende Formel bis Tabellenende ein: =Wenn(ZählenWenns(Tabelle2!$A:$A;A4);"";1)
3. markiere die Zeile 1 und schränke die Auswahl auf die Zellen mit Zahl ein: START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE - FORMELN - ZAHLEN
4. klicke mit der rechten Maustaste auf eine der markierten Zellen, wähle ZELLEN LÖSCHEN mit der Option "ganze Spalte"

das geht auch als Makro.
im Makro nehme ich aber nicht die Zeile 1, sondern die erste freie Zeile unter der Tabelle

With ActiveSheet.Usedrange

with .Rows(.Rows.count + 1)
.FormulaR1C1 = "=IF(CountIfs(Tabelle2!C1,R4C),"""",1)"
.Formula = .Value
if Worksheetfunction.Sum(.Cells) > 0 then .SpecialCells(xlcelltypeconstants, 1).EntireColumn.Delete
end with
end with


Gruß Daniel
Anzeige
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 13:03:13
Richy89
Vielen lieben Dank nochmal für die tolle Hilfestellung! Habe auch wieder etwas dazugelernt! Beitrag ist gelöst!

LG Richy
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 10:59:15
GerdL
Hallo Richy!
Sub Unit()


Const letzteSpalte As Long = 256 'ggf. anpassen

Dim X As Variant, S As Long


X = Array(5, 6, 9, 15, 16, 18, 23, 24, 26, 28, 34, 35, 36, 42, 54, 55, 115, 122, 123, 124, 126, 127, 128, 129, 130, 131)

For S = letzteSpalte To 2 Step -1

If IsError(Application.Match(Cells(4, S).Value, X, 0)) Then
Cells(4, S).EntireColumn.Delete
End If

Next


End Sub

Gruß Gerd
Anzeige
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 11:20:07
Richy89
Vielen Dank für die tollen Vorschläge!

Lieber UweD,
es werden Zellen mit einem Wert 5 nicht gelöscht. Habe z.B. eine Spalte mit der Zellennr. "2", "4" die nicht gelöscht werden. Gibt es dafür noch eine einfache Lösung. Wenn nicht wäre das nicht dramtisch und geht auch so :)

LG, Richy

Anzeige
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 11:23:19
Richy89
Entschuldigung es war Gerds Beitrag gemeint ;)

LG, Richy
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 11:26:34
UweD
Bei mir klappt das

Vorher:
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFGHIJKLM
4 5629450135051516 18



Nachher:
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABCDEFGHIJKLM
456915161823242628343536


LG UweD


Anzeige
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 11:30:34
Richy89
Lieber UweG,
danke es war Gerds Beitrag gemeint. Es bezieht sich auch auf Zellen die vor der "5" sind. Evtl. hat das damit zu tun.

LG, Richy
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 12:01:42
GerdL
Mein Code löscht relevante Spalten von rechts bis zur Spalte 2 = B, die Spalte A = 1 also nicht.
Ggf. ist dies die Ursache.
Gruß Gerd
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 12:10:06
Richy89
Lieber GerdL

danke für den logischen Hinweis!

Habe den Makro folgendermaßen angepasst und hat funktioniert. Kann man so machen oder kann das Probleme bereiten (z.B. Spalte 1 - Step 1 = 0???)
For S = letzteSpalte To 1 Step -1


LG, Richy
Anzeige
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 12:36:03
GerdL
Das kannst du so ändern. Wahrscheinlich war ich nur zu vorsichtig.

Gruß Gerd
AW: Excel-Makro Löschen von Spalten mit bestimmten Kriterien
20.03.2026 13:00:55
Richy89
Lieber Gerd,
supi, vielen Dank!
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18