Leeren einer VBA-Sammlung

8

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.

    
OlegarioFuentes 30.05.2013, 17:46
quelle

2 Antworten

10
%Vor%

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.

    
enderland 30.05.2013, 17:55
quelle
28

Wenn Sie eine Sammlung leeren möchten, anstatt eine separate Prozedur aufzurufen, verwenden Sie einfach

%Vor%     
Dick Kusleika 30.05.2013 19:06
quelle

Tags und Links