This error has the following possible causes:
You tried to use ReDim to change the number of elements of a fixed-size array.
You tried to redimension 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.
You attempted to assign a value to a Variant variable containing an array, but the Variant is 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 Variant and remedy it.
но чето не вкурил в реальные причины и их решение
А ты затянись...
Пора уже всем хорошим людям собраться и убить всех плохих людей.