Subscrito fora do intervalo (Erro 9)
Elementos de matriz e membros de coleções somente podem ser acessados dentro de seus limites definidos. Esse erro tem as seguintes causas e soluções:
Você referenciou um elemento de matriz inexistente. O subscrito pode ser maior ou menor que o intervalo possível de subscritos ou a matriz pode não ter dimensões atribuídas neste momento no aplicativo. Verifique a declaração da matriz para ver quais são seus limites superior e inferior. Use as funções UBound e LBound para condicionar os acessos à matriz se você estiver trabalhando com matrizes redimensionadas. Se o índice for especificado como uma variável, verifique a ortografia do nome da variável.
Você declarou uma matriz, mas não especificou o número de elementos. Por exemplo, o código a seguir causa o seguinte erro:
Dim MyArray() As Integer MyArray(8) = 234 ' Causes Error 9.
O Visual Basic não dimensiona implicitamente intervalos de matriz como 0-10. Em vez disso, você deve usar Dim ou ReDim para especificar explicitamente o número de elementos em uma matriz.
Você referenciou um membro da coleção inexistente. Tente usar o construto For Each... Next em vez de especificar elementos de índice.
Você usou uma forma abreviada de subscrito que implicitamente especificou um elemento inválido. Por exemplo, quando você usa o operador ! com uma coleção, o ! especifica implicitamente uma chave. Por exemplo, objeto!keyname. value é equivalente ao valor objeto. item (keyname). Nesse caso, um erro será gerado se keyname representar uma chave inválida na coleção. Para corrigir o erro, use um nome de chave ou índice válido para a coleção.
Saiba mais selecionando o item em questão e pressionando F1 (no Windows) ou HELP (no Macintosh).
Observação
Interessado em desenvolver soluções que ampliem a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os suplementos do Office ocupam um pequeno espaço em comparação com os suplementos e as soluções do VSTO, e você pode criá-los usando quase qualquer tecnologia de programação da Web, como o HTML5, JavaScript, CSS3 e XML.
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.