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

Application.Caller.Address Werd irre...

Forumthread: Application.Caller.Address Werd irre...

Application.Caller.Address Werd irre...
16.01.2021 15:56:54
Ralph
Hallo Leute :-)
Gutes neues Jahr!
Ich hab hier ein ganz simples (?!) Problem:

Function test()
Dim r As Range
Rem Dies funktioniert nicht, Rückgabewert #WERT
r = Range(Chr(34) & Application.Caller.Address & Chr(34))
test = r.Address
Rem Dies funktioniert ebenfalls nicht, Rückgabewert #WERT
r = Range(Application.Caller.Address)
test = r.Address
Rem Aber dieses funktioniert?!
test = Range(Application.Caller.Address).Address
End Function

Im letzten Fall akzeptiert Range() offensichtlich den String, der von Application.Caller.Address zurück gegeben wird, so dass ich die Range-Eigenschaft .Address verwenden kann. Aber das funktioniert nur dann, wenn ich das Ergebnis direkt verwende. Zwischenspeichern in einer Variablen des Typs Range führt zu einem unbrauchbaren Rückgabewert #WERT.
Woran liegt das? Ich begreife das nicht.
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Application.Caller.Address Werd irre...
16.01.2021 16:33:14
onur
Wenn x als RANGE dimensioniert ist, geht nur
SET X=Application.Caller

Wenn du nur die Addresse brauchst:
Dim x
x=Application.Caller.Address

AW: Application.Caller.Address Werd irre...
16.01.2021 18:18:31
Luschi
Luschi
AW: Application.Caller.Address Werd irre...
16.01.2021 18:27:55
onur
Hääääh?
Anzeige
AW: Application.Caller.Address Werd irre...
17.01.2021 09:59:23
Ralph
OMG... Danke!
AW: Application.Caller.Address Werd irre...
16.01.2021 18:54:36
Sulprobil
Zunächst würde ich mal abfragen, ob
TypeName(Application.Caller) = "Range"
ist
AW: Houston calling
16.01.2021 19:12:04
GerdL
Moin
Option Explicit
Public Testrange As Range
Sub Schaltfläche1_Klicken()
Set Testrange = ActiveSheet.Shapes(Application.Caller).OLEFormat.Object.TopLeftCell
MsgBox Testrange.Address
End Sub

Gruß Gerd
Anzeige
AW: Application.Caller.Address Werd irre...
17.01.2021 10:06:12
Ralph
Die Lösung des Problems besteht also aus einem Wort: SET.
Wenn man einen Bereich einer Range-Variablen zuweisen will, muss man bei der Zuweisung das Zauberwort SET verwenden, also
Set R-Variable = Range(xy)
und nicht nur
R-Variable = Range(xy)
Das ist natürlich ungeheuer intuitiv.
Danke für die Anstöße! :-)
Anzeige
;

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