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 
  
 
 
Este tema le ha gustado a 1 personas