Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/12/2008, 21:39
master359
 
Fecha de Ingreso: diciembre-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
El subíndice está fuera del intervalo (Error 9) VBA para Excel

Espero me puedan ayudar. Junto a un amigo hemos creado un rutina en un archivo excel que a partir de otros archivos excel se generan datos estadisticos. El problema es que al correr la macro da el error " Se ha producido el error '9' en tiempo de ejecución: Subíndice fuera de Intervalo" y no encontramos la forma de solucionarlo. En la ayuda de VBA de indica que el error podrìa estar en la matríz y en otros puntos. Les dejo parte del código en donde se produce el error. espero sinceramente me puedan ayudare. Muchas Gracias,


Public Sub contarTablaTotal(tablaTotal As TablaSimple, tablas() As TablaSimple)
Dim i As Integer: Dim j As Integer: Dim k As Long

tablaTotal.analista = "TOTAL"
tablaTotal.rango = tablas(1).rango

Dim arreglo(1 To 500) As String
For i = LBound(tablas) + 1 To UBound(tablas)
For j = 1 To 500
arreglo(j) = tablas(i).datos(j).sucursal
Next j
k = obtenerIndice(arreglo, "")
tablaTotal.datos(i).sucursal = tablas(i).analista
tablaTotal.datos(i).num = tablas(i).datos(k - 1).num 'AQUI SE PRODUCE EL ERROR Y SE DETIENE LA MACRO
Next i

tablaTotal.datos(UBound(tablas) + 1).sucursal = "Total"
For i = LBound(tablas) + 1 To UBound(tablas)
tablaTotal.datos(UBound(tablas) + 1).num = tablaTotal.datos(UBound(tablas) + 1).num + tablaTotal.datos(i).num
Next i

For i = LBound(tablas) + 1 To UBound(tablas)
If tablaTotal.datos(UBound(tablas) + 1).num = 0 Then
tablaTotal.datos(i).porc = 0
Else
tablaTotal.datos(i).porc = tablaTotal.datos(i).num / tablaTotal.datos(UBound(tablas) + 1).num
End If
Next i

For i = LBound(tablas) + 1 To UBound(tablas)
tablaTotal.datos(UBound(tablas) + 1).porc = tablaTotal.datos(UBound(tablas) + 1).porc + tablaTotal.datos(i).porc
Next i

End Sub