Freigeben über


Das Array ist fixiert oder vorübergehend gesperrt (Visual Basic).

Dieser Fehler hat die folgenden möglichen Ursachen:

  • ReDim wird verwendet, um die Anzahl der Elemente eines Arrays mit fester Größe zu ändern.

  • Neudimensionieren eines dynamischen Arrays auf Modulebene, in dem ein Element als Argument an eine Prozedur übergeben wurde. Wenn ein Element übergeben wird, wird das Array gesperrt, um zu verhindern, dass der Speicher für den Verweisparameter innerhalb der Prozedur aufgehoben wird.

  • Der Versuch, einer Variant-Variablen, die ein Array enthält, einen Wert zuzuweisen, jedoch ist Variant derzeit gesperrt.

So beheben Sie diesen Fehler

  1. Machen Sie das ursprüngliche Array dynamisch statt fest, indem Sie es mit ReDim deklarieren (wenn das Array innerhalb einer Prozedur deklariert wird), oder indem Sie es deklarieren, ohne die Anzahl der Elemente anzugeben (wenn das Array auf Modulebene deklariert wird).

  2. Bestimmen Sie, ob Sie das Element wirklich übergeben müssen, da es in allen Prozeduren im Modul sichtbar ist.

  3. Bestimmen Sie, was Variant sperrt, und beheben Sie es.

Siehe auch