nach einem Export aus einer Datenbank ist in der Excel Tabelle jede zweite Spalte leer. Gibt es ein Markro, welches diese automatisch löschen kann?
Schon mal danke im voraus.
Gruß
Kai
Option Explicit
Sub LoescheJedeZweiteSpalte()
Dim intC As Integer
For intC = Cells(1, Columns.Count).End(xlToLeft).Column - 1 To 2 Step -2
If IsEmpty(Cells(1, intC)) Then Columns(intC).Delete
Next intC
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Um jede zweite Spalte in Excel zu löschen, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
Öffne deine Excel-Datei.
Drücke ALT
+ F11
, um den VBA-Editor zu öffnen.
Klicke auf Einfügen
und wähle Modul
.
Kopiere den folgenden Code und füge ihn in das Modul ein:
Option Explicit
Sub LoescheJedeZweiteSpalte()
Dim intC As Integer
For intC = Cells(1, Columns.Count).End(xlToLeft).Column - 1 To 2 Step -2
If IsEmpty(Cells(1, intC)) Then Columns(intC).Delete
Next intC
End Sub
Schließe den VBA-Editor.
Gehe zurück zu Excel und drücke ALT
+ F8
, um das Makro auszuführen.
Wähle LoescheJedeZweiteSpalte
und klicke auf Ausführen
.
Dieses Makro löscht jede zweite Spalte, die leer ist, basierend auf den Inhalten der ersten Zeile.
Fehler: Makro lässt sich nicht ausführen.
Fehler: Es werden nicht die erwarteten Spalten gelöscht.
Wenn du kein Makro verwenden möchtest, kannst du auch manuell jede zweite Spalte löschen:
STRG
-Taste gedrückt und klicke auf jede weitere leere Spalte, die du löschen möchtest.Löschen
.Diese Methode ist allerdings weniger effizient, besonders bei großen Datenmengen.
Angenommen, du hast eine Excel-Tabelle mit leeren Spalten. Nach dem Ausführen des Makros wird die Tabelle so aussehen:
A | B | C | D | E |
---|---|---|---|---|
1 | 3 | 5 | ||
2 | 4 | 6 |
Nach dem Löschen der leeren Spalten sieht sie so aus:
A | C | E |
---|---|---|
1 | 3 | 5 |
2 | 4 | 6 |
Jede zweite Zeile löschen
in ähnlicher Weise, indem du das Makro anpasst.xlToRight
in der Schleife, um auch jede x-te Zeile oder Spalte zu löschen.IF
-Bedingung, um bestimmte Kriterien festzulegen, z.B. nur Spalten mit bestimmten Werten zu löschen.1. Wie kann ich jede zweite Zeile in Excel löschen?
Du kannst ein ähnliches Makro verwenden, um jede zweite Zeile zu löschen. Hier ist ein Beispielcode:
Sub LoescheJedeZweiteZeile()
Dim intR As Integer
For intR = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -2
Rows(intR).Delete
Next intR
End Sub
2. Funktioniert das Makro in allen Excel-Versionen?
Ja, das Makro sollte in den meisten modernen Excel-Versionen funktionieren, solange die Makro-Funktionalität aktiviert ist.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen