Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verarbeitung definierter Namen

Forumthread: Verarbeitung definierter Namen

Verarbeitung definierter Namen
06.11.2020 17:21:19
Kay
Hallo,
folgende Funktion funktiniert einwandfrei bei Aufruf DatafeederAuslesen1(Testbereich), wobei _
Testbereich ein defiierter Name ist

Public Function DatafeederAuslesen1(oRange1 As Range) As String
DatafeederAuslesen1 = oRange1.Worksheet.Name & "!" & oRange1.Address
End Function

Was bitte mache ich aber bei folgender abgewandelter Funktion falsch, wenn ich wie folgt ü _
bergebe: DatafeederAuslesen2("Testbereich")

Public Function DatafeederAuslesen2(oName) As String
Dim oRange2 As Range
oRange2 = Range(oName)
DatafeederAuslesen2 = oRange2.Worksheet.Name & "!" & oRange2.Address
End Function

Irgendwie sind jeweils die Objekte oRange1 und oRange2 unterschiedlich...
D&G
Kay
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Verarbeitung definierter Namen
06.11.2020 17:26:17
Hajo_Zi
Hallo Kay,
ich würde vermuten
set oRange2 = Range(oName)
Warum das?

AW: Verarbeitung definierter Namen
06.11.2020 17:36:22
Kay
Hallo Hajo,
nun gut, aber warum?
Wie weise ich denn einem Range Objekt auch ein Rage über einen definierten Namen zu?
Bei der ersten Funktion ist die Variable auch als Range definiert.
oRange2 = oName
funktioniert leider auch nicht.
Eine Idee?
VG Kay
Anzeige
AW: Verarbeitung definierter Namen
06.11.2020 17:36:42
ralf_b
Hallo,
Einmal übergibst du ein Objekt und einmal einen String.
Wie Hajo schon geschrieben hat scheint da ein "Set" zu fehlen.
Und Wenn du ein Objekt übergibst, dann hat dieses Objekt alle Eigenschaften schon mitgebracht.
set oRange2 = Range(oName) erzeugt ein Objekt basierend auf dem aktuellen Worksheet. Ohne Eigenschaften von irgendwoher mitzubringen.
"Irgendwie anders" wäre interessant was du damit meinst.
Anzeige
AW: Verarbeitung definierter Namen
06.11.2020 17:48:58
Kay
Hallo,
im ersten Aufruf übergebe ich einen Namen, der in eine definierte Range Variabel übergeht. Wenn ich dich richtig verstehe behandelt das Excel als Objekt.
Beim 2. Aufruf möchte ich das gleiche erreichen. Wie muß ich denn dann die Variable oRange2 setzen, damit ich zum gleichen Ergebnis komme, wie bei der ersten Funktion.
D&G Kay
Anzeige
AW: Verarbeitung definierter Namen
06.11.2020 18:11:18
ralf_b
1. du übergibst ein Objekt des Typs Range. Das existiert schon und es wird eigentlich nur eine Referenz auf dieses Objekt übergeben. Objekte werden mit "Set oRange1 = "initialisert
2. du übergibst einen Text. "Testbereich" das ist kein Objekt, sondern nur irgendein Text. Das Objekt erzeugst du erst mit dem Range(oName) aber dafür fehlt ja das "Set". Und wenn der schon existiert könnte es zum Fehler kommen. Vermute ich. Solltest du existierende Bereichsnamen suchen,dann in der Names Auflistung z.b. ActiveWorkbook.Names die Addresse mit Worksheet geht
z.b. so ActiveWorkbook.Names("Testbereich").refersTo
Anzeige
AW: Verarbeitung definierter Namen
06.11.2020 18:20:56
Kay
Super - hat nun funktioniert.
mit set oRange = Range(oName).
Aber auch dein Beispiel ist charmat.
Thanks Kay
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige