Partilhar via


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

Este erro tem as seguintes causas possíveis:

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

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

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

Para corrigir este erro

  1. Torne a matriz original dinâmica em vez de fixa, 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, uma vez que ele é visível em todos os procedimentos no módulo.

  3. Determine o que está bloqueando e Variant corrija-o.

Ver também