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

Vba: refersToR1C1 Namen erzeugen

Vba: refersToR1C1 Namen erzeugen
01.10.2019 15:34:33
Christian
Grüßt euch,
Für meine Dropdownliste möchte ich per Vba einen Namen erstellen lassen.
Die Namen stehen im Tabellenblatt "Renditen" in Zeile A1. Die Überschriften erweitern sich regelmäßig, womit sich auch die Liste der Namen ständig vergrößert.
Nun habe ich mit dem Recorder den Code aufgenommen, für eine statische Namensliste von 5 Zellen funktioniert dieser auch.
Meine Frage nun, wie schreibe ich den dynamischen Zellbezug in den referToR1C1 Code.
Ich steig da noch nicht durch, als VBA Einsteiger.
Hier mein Code:
ActiveWorkbook.Names.Add name:="IndexNamen", RefersToR1C1:="=Renditen!R1C1:R1" & "C & letztespaltestart"
Besten Dank für eure Hilfe
Christian

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

Betreff
Datum
Anwender
Anzeige
AW: Vba: refersToR1C1 Namen erzeugen
01.10.2019 15:48:32
Daniel
Hi
Bitte genau überlegen
Welche Teile in deinem Code sind fester Text, der genau so verwendet werden soll, wie er da steht, und welcher Teil ist deine Variable, deren Inhalt verwendet werden muss.
Der feste Text muss in Anführungszeichen, die Variable darf nicht in Anführungszeichen stehen.
Verkettet werden die Teile mit dem &, welches natürlich auch nicht innerhalb der Anführungszeichen stehen darf, sondern außerhalb stehen muss.
Gruß Daniel
AW: Vba: refersToR1C1 Namen erzeugen
01.10.2019 15:54:09
Christian
Hi Daniel,
danke wiedermals für deine Hilfe.
ich habe es etwas einfacher gelöst.
Renditen.Range(Renditen.Cells(1, 2), Renditen.Cells(1, letzteSpalteStart)).name = "IndexNamen"
Mit dem Code funktioniert es auch wunderbar.
Kannst du mir ggf. ganz kur erläutern, worin der Unterschied in der refersToR1C1 Methode und Range.Name liegt?
Für mich ist die Range.Name deutlich umgänglicher und verständlicher.
Vielen Dank Christian
Anzeige
AW: Vba: refersToR1C1 Namen erzeugen
01.10.2019 15:51:02
fcs
Hallo Christian,
    Dim letztespaltestart As Long
With ActiveWorkbook.Worksheets("Renditen")
letztespaltestart = .Cells(1, .Columns.Count).End(xlToLeft).Column
End With
ActiveWorkbook.Names.Add Name:="IndexNamen", RefersToR1C1:="=Renditen!R1C1:R1C" &  _
letztespaltestart
LG
Franz
AW: Vba: refersToR1C1 Namen erzeugen
01.10.2019 15:56:01
Christian
Hallo Franz,
dank deiner und Daniels Hilfe habe ich nun die Syntax dahinter auch verstanden.
Besten Dank.
Ich habe es für mich einfacher "gelöst" mit folgendem Code
Renditen.Range(Renditen.Cells(1, 2), Renditen.Cells(1, letzteSpalteStart)).name = "IndexNamen"
Grüße Christian
Anzeige
gelöst, dann nicht mehr offen. o.w.T.
01.10.2019 16:03:39
Werner
Wenn du das Problem gelöst hast, warum setzt du
01.10.2019 16:03:47
Daniel
Die Frage dann noch auf offen?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige