Ich habe ein Problem mit einem Collection-Objekt in Visual Basic für Anwendungen (ich benutze es mit Excel)
Ich habe diesen Code versucht, ein Collection-Objekt zu leeren, das ich wiederverwenden muss:
%Vor%Aber wenn ich es nenne mit:
%Vor%VBA sagt mir das
Argument ist nicht optional
und der Code wird nicht ausgeführt.
Was kann ich tun? Ich muss diese Sammlungsreinigung unten in einer Schleife verwenden, die das Collection-Objekt wiederverwendet.
Beachten Sie, dass ich das ()
um das Argument entfernt habe.
Beim Übergeben von byref
möchten Sie dies tun, da ()
bewirkt, dass VBA es standardmäßig als byval
übergibt, es sei denn, Sie fügen auch Call
hinzu.
Das kann sehr frustrierend sein, da Sie manchmal subName(args)
als Syntax verwenden können, aber diese Art von Problemen auftreten. Ich verwende generell Call mySubName(args)
, um die Dinge klarer zu machen.
Wenn Sie eine Sammlung leeren möchten, anstatt eine separate Prozedur aufzurufen, verwenden Sie einfach
%Vor%Tags und Links vba arguments list collections