Es ist nicht erlaubt, ein Sub
mit Klammern aufzurufen, außer wenn Sie die Call
-Anweisung verwenden.
Daher müssen Sie entweder:
verwenden %Vor%Oder:
%Vor%Der Grund dafür ist, dass in VBA (und VBS, VB6, auch) die Klammer viele verschiedene Bedeutungen haben kann.
In Ihrem Fall wird das Bereichsobjekt evaluiert , bevor das Ergebnis an ProcessRange
übergeben wird. In diesem Fall führt dies dazu, dass string
an die Untereinheit übergeben wird, da die Standardeigenschaft von Range
Text
ist.
Siehe diesen Artikel für einen Überblick: Ссылка
Der Prozessbereich ist sub
, also rufen Sie ihn nicht in Klammern auf. (Der Fehler tritt auf, weil (r)
bewirkt, dass r
ausgewertet wird und dessen Standardeigenschaftswert zurückgegeben wird, der nicht vom Typ range
ist, also nicht übereinstimmt, was ProcessRange
erwartet.
Verwenden Sie entweder;
%Vor%oder
%Vor%Bei der Verwendung von Klammern wird davon ausgegangen, dass Sie eine Funktion aufrufen.
%Vor%macht den Trick