Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1148to1152
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

Spaltenüberschrift als Kriterium

Spaltenüberschrift als Kriterium
Joachim
Hallo,
ich verarbeite einen DB-Auszug mittels Makro. In den Tabellen lösche ich per Makro bestimmte Spalten, füge neue ein, kopiere welche, fülle welceh mit vlookup. Jetzt hab ich festgestellt, dass in dem DB-Auszug neue Spalten dazwischen eingefügt wurden. Dies führt dazu, dass ich nun die falschen Spalten angreife. Problem ist auch, dass man mir nicht sagt, wenn sich der Aufbau ändert!
Ich hab mir schon ein Muster geschrieben, wo ich in der Quelldatei ( aus DB) nach der Überschrift (besteht aus 2 Zeilen) in der Zieldatei suche, mir die Spaltennummer geben lasse und dann den Rest durchführe.
Frage: geht das nicht eleganter?
Ich kenn das von SQL, wo ich direkt die Spalte anhand der Überschrift anspreche, (select from ... where ...). Geht das bei Excel auch oder muss ich immer erst die Spalte suchen, um dann weitermachen zu können.
Gruss
Joachim

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Benutzer
Anzeige
Spalten nach Spaltenüberschrift löschen
30.03.2010 12:50:57
NoNet
Hallo Joachim,
ganz so einfach wie per SQL ist das nicht möglich, Du musst schon jede einzelne Überschrift suchen.
Hier ein Beispiel-Code :
Sub SpaltenNachUeberschriftenLoeschen()
Dim arLoeschSpalten, lngS As Long, lngT As Long
'Überschriften, deren gesamte Spalte gelöscht werden soll :
arLoeschSpalten = Array("Nachname", "GibtEs nicht", "Lohn")
For lngT = LBound(arLoeschSpalten) To UBound(arLoeschSpalten)
'Überschriften werden in Zeile 1:1 gesucht und falls gefunden, Spalte gelöscht :
If Application.CountIf(Range("1:1"), arLoeschSpalten(lngT)) > 0 Then
lngS = Application.Match(arLoeschSpalten(lngT), Range("1:1"), 0)
Columns(lngS).EntireColumn.Delete shift:=xlToLeft 'Komplette Spalte löschen
End If
Next
End Sub
Falls eine Überschrift nicht gefunden wird (z.B. "GibtEsNicht"), wird diese einfach ignoriert.
Gruß, NoNet
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige