Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Jede zweite Spalte löschen

Jede zweite Spalte löschen
20.02.2008 10:44:00
Kai
Hallo,
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

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Jede zweite Spalte löschen
20.02.2008 10:58:26
Rudi
Hallo,
Zeile1 markieren, Bearbeiten-gehe zu-Inhalte-Leerzellen, strg und - drücken, ganze Spalte
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

AW: Jede zweite Spalte löschen
20.02.2008 10:58:00
Erich
Hallo Kai,
das folgende Makro geht davon aus, dass die Einträge in Zeile 1 maßgeblich sind:

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

Anzeige
AW: Jede zweite Spalte löschen
20.02.2008 11:11:50
Kai
Hallo Erich,
danke für die rasche Antwort. Funktioniert prima ;o)
VG
Kai
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Jede zweite Spalte in Excel löschen


Schritt-für-Schritt-Anleitung

Um jede zweite Spalte in Excel zu löschen, kannst du ein einfaches VBA-Makro verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Öffne deine Excel-Datei.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul.

  4. 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
  5. Schließe den VBA-Editor.

  6. Gehe zurück zu Excel und drücke ALT + F8, um das Makro auszuführen.

  7. 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.


Häufige Fehler und Lösungen

  • Fehler: Makro lässt sich nicht ausführen.

    • Lösung: Stelle sicher, dass die Makros in den Excel-Optionen aktiviert sind.
  • Fehler: Es werden nicht die erwarteten Spalten gelöscht.

    • Lösung: Überprüfe, ob die erste Zeile die entscheidenden Informationen enthält. Das Makro arbeitet auf der Grundlage der Inhalte dieser Zeile.

Alternative Methoden

Wenn du kein Makro verwenden möchtest, kannst du auch manuell jede zweite Spalte löschen:

  1. Markiere die erste leere Spalte.
  2. Halte die STRG-Taste gedrückt und klicke auf jede weitere leere Spalte, die du löschen möchtest.
  3. Klicke mit der rechten Maustaste auf eine der markierten Spalten und wähle Löschen.

Diese Methode ist allerdings weniger effizient, besonders bei großen Datenmengen.


Praktische Beispiele

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

Tipps für Profis

  • Verwende die Funktion Jede zweite Zeile löschen in ähnlicher Weise, indem du das Makro anpasst.
  • Experimentiere mit der Funktion xlToRight in der Schleife, um auch jede x-te Zeile oder Spalte zu löschen.
  • Nutze die IF-Bedingung, um bestimmte Kriterien festzulegen, z.B. nur Spalten mit bestimmten Werten zu löschen.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige