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

@viele meinungen: spaltenangaben in vba

Forumthread: @viele meinungen: spaltenangaben in vba

@viele meinungen: spaltenangaben in vba
08.10.2008 19:41:00
Herbert
hallo,
wie macht ihr denn das: wenn ich in einem vba-code spaltenangaben mache, und in der tabelle dann spalten einfügen oder entfernen muss, muss ich alle spaltenangaben im code manuell ändern. und wehe, ich vergesse das, dann stimmt das ganze makro nicht mehr.
beispiel:
With Sheets("Teilnehmer")
.Range("TeilnehmerListeGesamt").Sort _
Key1:=.Range("W2"), Order1:=xlAscending, _
Key2:=.Range("Q2"), Order2:=xlDescending, Header:=xlGuess 'D = MaGerNr, K = Endwert
End With
wenn ich jetzt irgendwo vor der spalte "Q" eine spalte einfüge, muss ich diese angaben hier auf "X2" und "R2" ändern.
wie macht ihr denn das?
für euere vorschläge danke ich euch schon mal im voraus!
gruß
herbert
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: spaltenangaben in vba
08.10.2008 20:19:00
Erich
Hi Herbert,
wenn zu erwarten/befürchten ist, dass sich die Spaltenangaben ändern werden,
würde ich sie zunächst separat an einer Stelle hinschreiben - dann muss nur hier angepasst werden.
Statt die Spaltennr. im Code fest zu setzen, kannst du sie vielleicht auch z. B. anhand des Zellwertes ermitteln,
etwa per Application.Match über die Zeile mit den Spaltenüberschriften:

Sub tst()
Dim lngSp1 As Long, lngSp2 As Long
lngSp2 = 17       ' Änderung nur hier nötig
With Sheets("Teilnehmer")
lngSp1 = Application.Match("Ueb4711", .Rows(1), 0) ' Spalte Ueb4711 wird gesucht
.Range("TeilnehmerListeGesamt").Sort _
Key1:=.Cells(2, lngSp1), Order1:=xlAscending, _
Key2:=.Cells(2, lngSp2), Order2:=xlDescending, _
Header:=xlYes 'D = MaGerNr, K = Endwert
End With
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: spaltenangaben in vba
08.10.2008 20:24:01
Beate
Hallo Herbert,
definiere für die Spalte/Zelle einen Namen bevor du das Makro schreibst, dann beziehst du dich auf diesen Namensbereich im Code. Die Makros brauchen dann nicht nachbearbeitet werden. Die Bereiche für die definierten Namen passen sich automatisch an, wenn Spalten/Zeilen gelöscht oder eingefügt werden.
Guckst Du: Namen (1) - Einstieg
Gruß,
Beate
Anzeige
AW: spaltenangaben in vba
09.10.2008 08:28:46
Herbert
hallo beate, walter, erich,
zuerst einmal vielen dank für euere antworten. und dann muss ich mich bei euch entschuldigen, denn ich hätte unbedingt dazuschreiben sollen, was mir alles bekannt ist. und natürlich ist mir bekannt, dass ich mit namensbereichen, spaltenüberschriften-abfragen und variablen-festlegungen arbeiten kann. doch das ist alles ein wenig umständlich und manchmal nicht gerade der lesbarkeit von codes dienlich. deshalb dachte ich, ob es vielleicht noch andere einfachere möglichkeiten gibt.
@ walter: natürlich war mir klar, dass du das natürlich nur per formel lösen würdest. die entsprechende formel habe ich auch schon. aber da fällt mir gerade eine neue folter für dich beim nächsten treffen ein. du weißt schon, für unbeantwortete emails! *grmpfvorwutschnaub* ich werde dich fesseln und 3 stunden lang mit vba zulabern, bis keine formel mehr auf deiner festplatte vorhanden ist! *jubel* ;o)==)
mal sehen, ob noch was kommt.
servus
Anzeige
predige ich ja seit 20 Jahren: Formeln statt VBA
08.10.2008 20:58:00
WF
.
AW: predige ich ja seit 20 Jahren: Formeln statt VBA
08.10.2008 21:15:49
Heinz
Hi,
...und sicherheitshalber immer einen Abakus mitführen.
mfg Heinz

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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