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

Wert eines definierten Names in Variable übernehme

Wert eines definierten Names in Variable übernehme
25.10.2012 11:44:35
Pepi
Hallo Zusammen
Ich habe eine Variable mit der Bezeichnung "Autor". Wie kann ich nun den Wert (Namen) des Autors in eine Variable bekommen ohne den Wert in eine Zelle (zB cells(1,1).formula = "=Autor") zu speichern und mit sTmp = cells(1,1) auszulesen.
vielen Dank für eine einfache Lösung
gruss
Pepi

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Autor = range("Autor") o.T
25.10.2012 11:46:59
Marc
Gruß, MCO

AW: Autor = range("Autor") o.T
25.10.2012 13:13:14
Pepi
Hallo MCO
Danke für die schnelle HIlfe - doch leider geht das bei mir nicht.
Ich bekomme die Fehlermeldung "Die Methode Range für das Objekt _Global ist fehlgeschlagen"
was meinst du mit o.T.
mfg
Pepi

AW: Application.Range("Autor")
25.10.2012 14:46:13
bst
Hi,
nimm mal Application.Range("Autor"), dann geht das auch im Klassenmodul einer Tabelle.
o.T. = ohne Text
cu, Bernd

AW: Application.Range("Autor")
25.10.2012 17:49:05
Pepi
Hallo Bernd
Leider bekomme ich immer noch die gleiche Fehlermeldung.
mfg
Pepi

Was mM nach kein Wunder ist, denn ...
25.10.2012 19:57:54
Luc:-?
Range("Autor") dürfte einen Namen der Mappe Autor mit Zellbezug voraussetzen, Pepi!
Dieser könnte dann allenfalls evaluiert → autor = Evaluate(Workbook("xyz").Names("Autor").Value) oder direkt ausgelesen wdn → autor = Mid(Workbook("xyz").Names("Autor").Value, 2).
Aber das Alles setzt natürl voraus, dass du tatsächl einen solchen Namen angelegt hast! Ist das nicht der Fall, klappt das nicht.
Ist der evtl existd Name ein Name eines Blattes, muss Worksheet("…") oder sein Internname (der besser neu vergeben wird!) verwendet wdn. In den entsprd Dokument-Klassenmodulen (die bst anspricht) könnte im jeweils zutreffenden auch Me verwendet wdn.
Handelt es sich um ein Datenfeld aus mehreren Autorennamen, dürfte nur Evaluate infrage kommen.
Ansonsten erhebt sich natürlich die Frage, ob es sich um einen oder mehrere Autorennamen handelt, die sich ggf auch ändern bzw erweitert wdn könnten. Da wäre eine Liste auf einem TabBlatt wohl die einfachste Lösung. Auf die könnte dann ganz bequem mit einem Namen mit Zellbezug zugegriffen wdn. Allerdings könnte das so auch aus dem Pgm erfolgen, wodurch Hajos anmerkende Frage Berechtigung erhält.
Wenn eine bequeme ListenPflege auf einem TabBlatt nicht gewünscht wird bzw nicht erforderlich ist, kann auch eine Pgm- oder Global-Konstante angelegt wdn, die den bzw die Namen enthält…
Const Autor$ = "mein autor" bzw Const Autoren$ = "mein autor1;mein autor2;…"
Letztere kann mit axAutor = Split(Autoren, ";") in eine ein Datenfeld (Array) aus Namenstexten enthaltene Variant-Variable umgewandelt wdn, die hier der Variant-Variablen axAutor zugewiesen wird (die Konstante behält(/muss) ihren Wert (behalten)!.
Gruß Luc :-?

Anzeige
AW: Was mM nach kein Wunder ist, denn ...
26.10.2012 09:45:27
Pepi
Hallo Luc
Das ist aber eine tolle Sache, die Du mir da präsentierst! - musste zuerst alles ausprobieren, bevor ich jetzt antworte. Es klappt alles bestens! Auch sTmp = Range("Bereich") funktioniert wenn sTmp als Variant definiert ist. Auch die Versionen mit Mid() und Evaluate() sind grossartig und decken genau meinen Bedarf, ja bieten noch einige zusätzliche Möglichkeiten.
nochmals vielen Dank allen. Was ist eigentlich die Bedeutung eines "$"-Zeichens am Ende einer Variablen oder Konstanten?
mfg
Pepi

Variable$ = Text
26.10.2012 09:52:42
Matthias
Hallo
Das "$"-Zeichen am Ende einer Variablen oder Konstanten
bedeutet das es Text ist
Gruß Matthias

Anzeige
Na, dann...! ;-) Gruß owT
26.10.2012 15:30:25
Luc:-?
:-?

AW: Application.Range("Autor")
26.10.2012 08:55:39
bst
Nochmals Hallo,
das sollte eigentlich funktionieren.
Es handelt sich bei Autor schon um einen Excel-Namen, auf den Du mit einer Formel via:
=Autor
zugreifen kannst?
Versuche auch mal:
ActiveWorkbook.Names("Autor").RefersToRange.Value
und:
ThisWorkbook.Names("Autor").RefersToRange.Value
Oder zeige mal eine Datei her in welcher das nicht geht.
cu, Bernd

AW: Wert eines definierten Names in Variable übernehme
25.10.2012 18:33:01
Hajo_Zi
Hallo Pepi,
Du hast eimne Variable Autor warum muss die auf eine andere Varible geschrieben werden?

Anzeige
AW: Wert eines definierten Names in Variable übernehme
25.10.2012 19:27:20
Pepi
Hallo Hajo
Autor wurde mit dem Namensmanager erstellt - das VBA kennt den Namen "Autor" nicht.
mfg
Pepi

AW: Wert eines definierten Names in Variable übernehme
25.10.2012 19:30:23
Hajo_Zi
Varibale=Range("Autor")
Gruß Hajo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige