Compartilhar via


Esta matriz é fixa ou está temporariamente bloqueada (Visual Basic)

Esse erro tem as seguintes causas possíveis:

  • Usar ReDim para alterar o número de elementos de uma matriz de tamanho fixo.

  • Redimensionar uma matriz dinâmica no nível do módulo, na qual um elemento foi passado como um argumento para um procedimento. Se um elemento for passado, a matriz será bloqueada para impedir a desalocação da memória para o parâmetro de referência dentro do procedimento.

  • Tentar atribuir um valor a uma variável Variant que contém uma matriz, mas Variant está bloqueada no momento.

Para corrigir este erro

  1. Torne a matriz original dinâmica em vez de fixada declarando-a com ReDim (se a matriz for declarada dentro de um procedimento) ou declarando-a sem especificar o número de elementos (se a matriz for declarada no nível do módulo).

  2. Determine se você realmente precisa passar o elemento, pois ele é visível em todos os procedimentos no módulo.

  3. Determine o que está bloqueando Variant e resolva isso.

Confira também