Cadastrar    Esqueci minha Senha Login Senha
Skip Navigation Links
10 Subscript out of bounds Handheld Basic
Descrição do Erro:
Este erro ocorre quando o programador especifica um elemento fora dos limites do array, exemplo:

O array possui os seguintes elementos
Elemento 1, elemento 2, elemento 3, elemento 4

Então o programador tenta acessar o elemento 5, mas não existe, erro 10. Se tentar acessar o elemento 0, a mesma coisa.

Dim A(1 To 4) as Integer
MsgBox A(5) ' Erro #10, o array possui a posição máxima 4.
MsgBox A(0) ' Erro #10, o array possui a posição mínima 1.
Possível solução:
A solução é simples, basta ter a certeza que está dentro do range do Array usando o UBound e o LBound conforme o exemplo:


Private Function Average(ByRef a() as Double) as Double
Dim min as Integer, max as Integer, i as Integer
Dim sum as Double

If Dimensions(a)<>1 Then Err.Raise 5
min = LBound(a,1)
max = UBound(a,1)

For i=min To max
sum = sum = a(i)
Next i

Average = sum / (max - min + 1)
End Sub

outils webmaster
contador
© 2002-2010 SoftPalm.com.br. Todos os direitos reservados Fone: 011-2085-6535 ou 011-7976-5401