15.07.2021, 21:02
Guten Abend allerseits,
Innerhalb eines Makros möchte ich ein Namens-Objekt nach Kriterien in einer Funktion X suchen und als Funktionsergebnis zurückgeben. Die aufrufende Sub Y soll das Ergebnis-Objekt weiterverarbeiten.
Beide Prozeduren vereinfacht dargestellt:
Sub Y
Dim oName As Name
oName = X("MyName") ===> Diese Zuweisung läuft auf Laufzeitfehler 424 Objekt erforderlich
' Bearbeitung oName (löschen oder andere Auswertungen)
End Sub
--------------
Function X(cName)
' In Beispiel wird davon ausgegangen, dass das gesuchte Objekt auf jeden Fall existiert.
Dim oName As Name
For Each oName In Application.Names
If oName.Name = cName Then
Exit For
End If
Next
X = oName ===> Nach dieser Zuweisung wird im Lokalfenster für X die Eigenschaft Variant/String angezeigt
Ich hätte hier ein Objekt erwartet
End Function
--------------
Problem: Wie bekomme ich in Sub Y das Name-Objekt? Ist mein Ansatz hier falsch?
Vielen Dank für Eure Unterstützung!
Beste Grüße
Michael
Innerhalb eines Makros möchte ich ein Namens-Objekt nach Kriterien in einer Funktion X suchen und als Funktionsergebnis zurückgeben. Die aufrufende Sub Y soll das Ergebnis-Objekt weiterverarbeiten.
Beide Prozeduren vereinfacht dargestellt:
Sub Y
Dim oName As Name
oName = X("MyName") ===> Diese Zuweisung läuft auf Laufzeitfehler 424 Objekt erforderlich
' Bearbeitung oName (löschen oder andere Auswertungen)
End Sub
--------------
Function X(cName)
' In Beispiel wird davon ausgegangen, dass das gesuchte Objekt auf jeden Fall existiert.
Dim oName As Name
For Each oName In Application.Names
If oName.Name = cName Then
Exit For
End If
Next
X = oName ===> Nach dieser Zuweisung wird im Lokalfenster für X die Eigenschaft Variant/String angezeigt
Ich hätte hier ein Objekt erwartet
End Function
--------------
Problem: Wie bekomme ich in Sub Y das Name-Objekt? Ist mein Ansatz hier falsch?
Vielen Dank für Eure Unterstützung!
Beste Grüße
Michael