Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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.

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

Betreff
Benutzer
Anzeige
AW: Nicht benötigte Spalten löschen
11.12.2009 15: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 16: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
AW: Nicht benötigte Spalten löschen
11.12.2009 16: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 16: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.....

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige