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

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.

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?
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! :-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige