VBA Schreibweise von Methode (PasteSpecial) macht Probleme

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo Helmut,

bei Klammern erwartet die VBA-Umgebung eine Zuweisung, d. h. einer Variablen wird ein Wert zugewiesen. Das geht allerdings nur, wenn der Ausdruck einen Wert zurückgibt. PasteSpecial gibt möglicherweise True oder False (-1 oder 0) zurück, ich glaube aber eher, dass hier nichts zurückgegeben wird.

Ansonsten wird "nur" ein Befehl ausgeführt. Da müssen die Klammern entfallen, da sonst das Ziel der Zuweisung fehlt und ein Kompilierfehler ausgegeben wird.

' Zuweisung
Dim a As Integer
a = Bereich.PasteSpecial(xlPasteFormats,xlPasteSpecialOperationNone,false,false)

' Befehl
Bereich.PasteSpecial Paste:=xlPasteFormats, Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=False

Alles klar?

Hallo HelmutMit,

Das Problem sind die Klammern. VBA-Subs akzeptieren Parameterübergabe per anschliessendem Klammerausdruck nicht.

Das gilt aber nicht für z.B. "MsgBox ("Test")"...

Grüsse

Higlav

Was möchtest Du wissen?