Como mejorar el tiempo de ejecución para calcular el resultado de formulas en 26000 filas
publicado
Buenas Tardes:
Estoy tratando de realizar un ciclo que me calcule una formula para 26000 filas aproximadamente. He echo el intento con 3 ciclos distintos pero al ejecutar la macro se me colapsa el excel (No responde) y se demora mucho tiempo la ejecución. (Macro_1, Macro_2 y Macro_3)
Acudo a ustedes para que me guíen y me digan que error estoy cometiendo o cual puede ser la mejor forma de realizar el procedimiento.
De antemano muchas gracias.
Julio Cesar Sanguino L.
Option Explicit Dim Fila, I As Long Dim StarTime As Double Dim Endtime As Double Dim A As Integer
If Range("as" & I) = "Inactivo" Then Range("ax" & I) = 0 Else A = Application.WorksheetFunction.SumIf(Range("aw$1:aw" & I - 1), Range("Aw" & I), Range("ax$1:ax" & I - 1)) If A > 0 Then Range("ax" & I) = 0 Else Range("ax" & I) = 1 End If End If Next
Endtime = (Now - Int(Now)) * 24 'Tiempo Final Range("BC1") = (Endtime - StarTime) * 60 'Tiempo de duracion de la macro
Dim Mestadisticas() As Long Dim B As Integer Dim Z, X As Integer Fila = Cells(Rows.Count, "AS").End(xlUp).Offset(1, 0).Row
ReDim Mestadisticas(Fila - 1)
Range("i2").Select A = 2 B = 1
For A = 2 To Fila - 1 Z = Application.WorksheetFunction.SumIf(Range("aw$1:aw" & A - 1), Range("Aw" & A), Range("ax$1:ax" & A - 1)) '"=IF(AS2=""Inactivo"",0,IF(SUMIF(aw$1:aw1,Aw2,ax$1:ax1)>0,0,1))"
If Range("aS2") = "Inactivo" Then Mestadisticas( = 0 Else If Z > 0 Then Mestadisticas( = 0 Else Mestadisticas( = 1 End If End If
Buenas Tardes:
Estoy tratando de realizar un ciclo que me calcule una formula para 26000 filas aproximadamente. He echo el intento con 3 ciclos distintos pero al ejecutar la macro se me colapsa el excel (No responde) y se demora mucho tiempo la ejecución. (Macro_1, Macro_2 y Macro_3)
Acudo a ustedes para que me guíen y me digan que error estoy cometiendo o cual puede ser la mejor forma de realizar el procedimiento.
De antemano muchas gracias.
Julio Cesar Sanguino L.