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