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

@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

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

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige