Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1376to1380
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: Wert einer Zelle mithilfe des Namens auslesen

VBA: Wert einer Zelle mithilfe des Namens auslesen
13.08.2014 15:31:01
Jan
Hi,
ich habe einer kompletten Spalte einen Namen gegeben und möchte jetzt im VBA-Editor auf diese Spalte bzw. diesen Namen zugreifen. Das geht meines Wissens mit Range("EigenerName").
Wie erhalte ich jetzt einen Wert einer Zelle aus "EigenerName"?
Sinngemäß anstelle von Range("A3") eher Range("EigenerName3") (ist natürlich Quatsch, aber vllt. versteht mich jemand dadurch besser.
Über Feedback würde ich mich freuen.
Vielen Dank,
Jan

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Wert einer Zelle mithilfe des Namens auslesen
13.08.2014 15:39:11
Daniel
Hi
Range("EigenerName").Cells(1, 1).Value

damit greifst du auf die Zelle in der ersten Zeile und ersten Spalte dieses Zellbereichs zu.
Aufpassen, es findet keine Logik-Kontrolle statt.
dh wenn du "EigenerName" den Zellbereich J:J zugewiesen hast, wäre ein
Range("EigenerName").Cells(1, 2).value
trotzdem möglich, in diesem Fall würde dann auf die Spalte K zugegriffen, obwohl diese gar nicht zu "EigenerName" gehört.

AW: VBA: Wert einer Zelle mithilfe des Namens auslesen
13.08.2014 15:43:12
Matze
Hallo Jan,
mit Range("A3").value würdest du diese Zelle DIREKT ansprechen.
Das selbe erreichst du mit Cells(3, 1).value
Der Bereichsname fürs direkte ansprechen ist da nicht nötig.
Wenn du aber alle Zellen in diesen Bereich ansprechen möchtest, wird eine For-Schleife nötig.
Dim Zelle as Long
for each Zelle in Range("EigenerName")
usw
Gruß Matze

Anzeige
AW: VBA: Wert einer Zelle mithilfe des Namens auslesen
13.08.2014 15:58:53
Jan
Hi Matze,
an sich stimmt das. Also es stimmt, ja :-) Aber ich möchte vermeiden, dass ich beim Einfügen neuer Spalten im Arbeitsblatt dann im VBA-Code per Hand alles nachrücken muss. Verstehst Du, was ich damit meine? Oder ich habe einen Denkfehler :-)

AW: VBA: Wert einer Zelle mithilfe des Namens auslesen
13.08.2014 15:56:55
Jan
Hi Daniel,
zum Verständnis: .Cells() bezieht sich dann also relativ auf die Range("EigenerName")?
Jan

AW: VBA: Wert einer Zelle mithilfe des Namens auslesen
13.08.2014 16:01:31
Daniel
ja, wenn Das .Cells auf Range folgt, dann sind die Koordinaten in Cells bezugen auf den Zellbereich der Range.
Range(...).Cells(1, 1) ist also die linke obere Zelle der Range.
Gruß Daniel

Anzeige
AW: VBA: Wert einer Zelle mithilfe des Namens auslesen
13.08.2014 16:05:06
Jan
Auch wieder was gelernt. Danke! Das kam in all den Beispiel im Web nicht rüber (für mich).
Danke :-)

AW: VBA: Wert einer Zelle mithilfe des Namens auslesen
14.08.2014 00:41:16
Ewald
Hallo,
die einfache Schreibweise
Range(...).Cells(1, 1)
ist fehlerhaft, sie fängt zwar mit der oberen linken Zelle des Bereichs an, verläßt aber den Bereich sowohl nach unten als auch nach rechts.
Um nur im Bereich zu bleiben sollten Variablen verwendet werden zB. x;y
Range(...).Cells(x, y)
diese müssen überwacht werden, ist x > Range(...).Rows.Count oder y > Range(...).Columns.Count darf kein Ergebnis angezeigt werden oder es muß eine Meldung kommen.
Nur so ist gewährleistet das auch nur Werte aus dem Namensbereich angezeigt werden
Gruß Ewald

Anzeige
Sprich den Index an ...
13.08.2014 15:42:13
Matthias
Hallo
Option Explicit
Sub WertAusZelle()
MsgBox Range("EigenerName")(3)
End Sub
Das wäre die 3.Zelle in Deinem Namensbereich der Spalte.
Evtl noch das Blatt referenzieren.
Gruß Matthias

AW: Sprich den Index an ...
13.08.2014 16:04:25
Jan
Der Index.. die Schreibweise habe ich gesucht. Ich vermute, dass dies mein Problem löst nach dem Einfügen neuer Spalten alle Absolut referenzierten Zellen neu Nachzu"-alphabetisieren".
Danke Matthias.

Danke für die Rückmeldung ... owT
13.08.2014 16:10:53
Matthias

AW: Sprich den Index an ...
13.08.2014 16:20:21
Daniel
HI
wenn du den Index verwendest und dein Zellbereich hat mehrere Zeilen und mehrere Spalten, dann läuft der Index zunächsts in der selben Spalte nach rechts und springt dann in die nächste Zeile
Range(...).Index(2) ist also die Zelle in der ersten Zeile in der zweiten Spalte des Zellbereichs (Wenn die Range 2 oder mehr Spalten umfasst)
Gruß Daniel

Anzeige
AW: Sprich den Index an ...
13.08.2014 16:24:47
Jan
Verstehe. Vielen vielen Dank!
Grüße,
Jan

das war aber nicht gefragt !!
13.08.2014 18:32:56
Matthias
Hallo Daniel
Das war aber nicht gefragt !!
Zitat von Jan

ich habe einer kompletten Spalte einen Namen gegeben.
Darauf habe ich geantwortet!
Das was Du hier machst, ist das Abwerten anderer Vorschläge(denn es war ja abgeschlossen)
Denn anders ist das für mich nicht zu deuten.
Schade, denn Du bist ja eigentlich ein kluges Köpfchen.
Warunm Du das jetzt brauchst ist mir schleierhaft.
Gruß Matthias

AW: das war aber nicht gefragt !!
13.08.2014 18:57:35
Daniel
HI Matthias
ich verstehe meinen Beitrag jetzt überhaupt nicht als Abwertung deiner Antwort, ganz im Gegenteil.
Ich gehe nur davon aus, dass Jan vielleicht in naher oder ferner Zukunft (oder irgendjemand anderes, der zu einem ähnlichen Problem recheriert und dabei diesen Tread findet) mal mit einem nicht nur 1-zeiligen oder 1-spaltigen Zellbereich arbeiten muss und dann sollte er wissen was passiert, wenn er den Einzelindex verwendet.
Weil ich deine Lösung prinzipell gut finde, habe ich sie um eine weiterführende Information ergänzt.
Gruß Daniel

Anzeige
ok ... dann ist ja alles gut :-) owT
13.08.2014 19:01:50
Matthias

Na, dann noch 'ne 'weiterführende Info'!
13.08.2014 19:29:43
Luc:-?
Wird der ZellBereich zuvor in ein Array übertragen und dann mit For Each durchlaufen, ist es genau umgekehrt: erst alle Zeilen der 1., dann der 2.Spalte usw.
Gruß, Luc :-?

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige