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

Nicht benötigte Spalten löschen

Forumthread: Nicht benötigte Spalten löschen

Nicht benötigte Spalten löschen
Martin
Hallo miteinander
Ich habe eine Excel-Tabelle mit etwa 80 Spalten. In Zeile 1 ist jeweils der Titel der Spalte, z.B. Name, Vorname, Strasse, Ort, Nummer etc.
Für gewisse Auswertungen braucht's jedoch nur einen kleinen Teil der vielen Spalten, alle anderen können gelöscht werden.
Ich suche ein schnell laufendes Makro, dass mir alle nicht benötigten Spalten löscht.
Besten Dank im voraus.
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Nicht benötigte Spalten löschen
11.12.2009 16:24:34
Josef
Hallo Martin,
und wie sollen die zu löschenden Spalten erkannt werden?
Gruß Sepp

AW: Nicht benötigte Spalten löschen
11.12.2009 17:03:57
Martin
Hallo Sepp
Danke für die Frage:
In Zeile 1 sind ja die Titel der Spalten, z.B. "Name", "Vorname", "Strasse", "Ort", "Nummer", "Beginn", "Ende" und viele mehr.
Für eine Auswertung benötige ich z.B. die Spalten mit Titel "Name", "Vorname", "Ort", alle anderen sollten gelöscht werden. Das Makro soll also die Zeile 1 durchgehen und die nicht benötigten Spalten löschen.
Besten Dank
Anzeige
AW: Nicht benötigte Spalten löschen
11.12.2009 17:26:20
Josef
Hallo Martin,
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub deleteColumns()
  Dim rng As Range, rngDel As Range
  Dim vntColumnsToKeep As Variant
  
  'Überschriften die NICHT gelöscht werdn sollen!
  vntColumnsToKeep = Array("Name", "Vorname", "Strasse", "Ort")
  
  For Each rng In ActiveSheet.UsedRange.Rows(1).Cells
    If IsError(Application.Match(rng, vntColumnsToKeep, 0)) Then
      If rngDel Is Nothing Then
        Set rngDel = rng.EntireColumn
      Else
        Set rngDel = Union(rngDel, rng.EntireColumn)
      End If
    End If
  Next
  
  If Not rngDel Is Nothing Then rngDeldelete
  
  Set rng = Nothing
  Set rngDel = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Nicht benötigte Spalten löschen
11.12.2009 17:34:55
Martin
Super! Besten Dank, Sepp, das ist eine grosse Hilfe. Ich hab's mit einer IF-Schlaufe versucht und bin da irgendwie stecken geblieben. Auf Deine Lösung wäre ich wohl nie im Leben gekommen.....
Anzeige
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