Excel con macros muy lento, que puedo hacer?

Continuando con mi proyecto de "programa" en excel para realizar ventas y administrar mi negocio, noto que una vez he cargado algunos datos el excel se hace lento y asumo podria ser por la formulación en las hojas y por las macros, ¿cómo podría mejorar el desempeño de mi "miniprograma"?

1 respuesta

Respuesta
1

Si en tu programa usas instrucciones del tipo .select, .activate, do while ... loop estas instrucciones hacen muy lentas las macros, y todavía se hacen más lentas si las fórmulas se actualizan atomaticamente, esto significa que cada que la macro se ejecute constantemente la hoja de excel estará recalculando la fórmula.}, otra forma de hacer mas rapidas y eficientes las macros es usar instrucciones como set xxx=range("x:x"). Currentregion, with ... end with, ciclos for i=... next for, for each ... next, declarar las variables para que ocupen menos memoria posible por ejemplo dim numero as integer ocupa 4 bytes de memoria mientras que dim numero as variant ocupa 24, yo uso estas instrucciones en programas de optimización de cortes de barras o para calcular los resultados de los juegos de azar que implican mucho tiempo de calculo por las fórmulas y obtengo los resultados en pocos segundos cosa que en una programación normal tardaría horas, te paso las siguientes instrucciones estas deben bajarle algo al tiempo

sub tu_macro
Apagar
Instrucciones de tu macro
Encender
end sub
Sub apagar()
With Application
    .ScreenUpdating = False
    .Calculation = xlCalculationManual
    .EnableEvents = False
End With
ActiveSheet.DisplayPageBreaks = False
End Sub
Sub encender()
With Application
    .ScreenUpdating = True
    .Calculation = xlCalculationAutomatic
    .EnableEvents = True
    .CutCopyMode = False
End With
ActiveSheet.DisplayPageBreaks = False
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas