This error has the following possible causes:
ReDimto change the number of elements of a fixed-size array.
Redimensioning a module-level dynamic array, in which one element has been passed as an argument to a procedure. If an element is passed, the array is locked to prevent deallocating memory for the reference parameter within the procedure.
Attempting to assign a value to a
Variantvariable containing an array, but the
Variantis currently locked.
To correct this error
Make the original array dynamic rather than fixed by declaring it with
ReDim(if the array is declared within a procedure), or by declaring it without specifying the number of elements (if the array is declared at the module level.
Determine whether you really need to pass the element, since it is visible within all procedures in the module.
Determine what is locking the
Variantand remedy it.