Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1128to1132
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

Range Bezüge in VBA von fix auf relativ umstellen

Range Bezüge in VBA von fix auf relativ umstellen
fix
Hallo Herber Fans,
ich ermittle einen Range:
Set rgGPTMember_Source = Intersect(rgGPTMemberAugmentation.Rows(1).Find("GPT Member", LookIn:=xlValues, LookAt:=xlWhole).EntireColumn, rgGPTMemberAugmentation)
Dessen Adresse lautet dann: $G$5:$G$34
Dieser Range wird nun in eine Namensdefinition geschrieben:
ActiveWorkbook.Names.Add Name:="rgGPT", RefersTo:=rgGPTMember_Source
Die Namensdefinition referenziert also auf: $G$5:$G$34
Frage: Wie kann ich bei der Erstellung des Ranges oder beim Erstellen der Namensdefinition die fixen Bezüge in relative umwandeln. Also: G5:G34
Mir fällt nichts Schlaues ein. Ich war schon im Forum, habe aber vermutlich Tomaten auf den Augen.
Vielen Dank für Eure Hilfe.
Grüße, Andreas Hanisch

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
rgGPTMember_Source.Address(0,0) _oT
07.01.2010 21:06:12
NoNet
_oT = "ohne Text"
AW: rgGPTMember_Source.Address(0,0) _oT
07.01.2010 21:12:44
Andreas
Hi NoNet,
Ich nehme an, Du meintest, die Zeile solle dann so aussehen:
ActiveWorkbook.Names.Add Name:="rgGPT", RefersTo:=rgGPTMember_Source.Address(0, 0)
Die Namensdefinition in der Mappe referenziert dann aber auf: ="G5:G34"
Und das ist ein String und korrekter Bezug, mit dem ich weiterarbeiten kann.
Noch eine Idee?
Grüße, Andreas
Range(rgGPTMember_Source.Address(0,0))
07.01.2010 21:16:38
NoNet
Hallo Andreas,
Mit etwas Phantasie kann man diesen String einfach in eine Range()-Anweisung einfügen ;-) :
ActiveWorkbook.Names.Add Name:="rgGPT", RefersTo:=Range(rgGPTMember_Source.Address(0,0))
Gruß, NoNet
Anzeige
AW: Range(rgGPTMember_Source.Address(0,0))
07.01.2010 21:38:35
Andreas
Hi NoNet,
erklär mich bitte nicht für bescheuert... gut es ist schon spät. Aber es klappt leider nicht. Anbei ein simples Beispiel:
https://www.herber.de/bbs/user/67062.xls
Im Code habe ich Kommentare hinterlegt. Der Debug.Print einer Adresse führt zum korrekten Verhältnis von Row/ Column Absolut. Aber wenn ich es über Range(Adress String) in die Namensdefiniton packe, habe ich wieder zwei Dollarzeichen.
Das Beispiel ist für eine Zelle. Genauso wie ich es brauche. Aber für einen ganze Range müßte es ja analog sein.
Vielen Dank, wenn Du noch einmal einen Blick reinwirfst.
Grüße, Andreas
Anzeige
Reative Namensdefinition - die nächste
07.01.2010 22:29:14
NoNet
Hall Andreas,
sorry - nein : Ich möchte niemanden für "bescheuert" erklären - tut mir leid, wenn das so rüberkam, war nicht meine Absicht :-(( !!
Mein Lösungsvorschlag war nicht ganz korrekt, da Excel mit RefersTo:=... den Bezug immer in absolute Adressen umwandelt.
Villeicht hilft dir jedoch folgende Syntax mit RefersToR1C1:=... weiter :
ActiveWorkbook.Names.Add Name:="clPID_2", RefersToR1C1:="=" & clPID_2.Address(0, 0, 0)
Das bewirkt eine relative Namensdefinition, was dann aber auch bedeutet, dass sich dieser Name in jeder Zelel auf einen unterschiedlichen (absoluten) Bereich bezieht (das wolltest Du vermutlich aber auch, oder ?) !
Gruß, NoNet
Anzeige
AW: Reative Namensdefinition - die nächste
08.01.2010 13:08:04
Andreas
Hi NoNet,
das rockt!
Keine Angst. Das mit dem für bescheuert erklären war nicht ganz ernst gemeint :). Mir ist schon selber klar, daß bei solchen Detailfragen manchmal einfach der Knoten im Kopf nicht platzt. Es ist in einem solchen Fall wenig selbstironisch gemeint.
Ohne Deine Hilfe wäre ich aber vermutlich wirklich nicht drauf gekommen. Auf alle Fälle klappt es nun und ist genau das, was ich brauche.
Dir vielen Dank für Deine Hilfe!
Habe ein gutes Wochenende, Grüße aus Berlin, Andreas.

323 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige