Tiempo estimado excel

Programas, sistemas, condiciones, filtros...
Responder
FEsmeralda
10
10
Mensajes: 75
Registrado: Jue 03 Oct, 2013 3:54 pm

Tiempo estimado excel

Mensaje por FEsmeralda »

Hola.
He visto en algunos excel de JCE2 que cuando le das a que ejecute una macro te dice el tiempo
estimado para la conclusión de ese proceso. ¿Alguien podría indicarme como se podría hacer?
saludos
Avatar de Usuario
laguineu
11
11
Mensajes: 508
Registrado: Vie 30 Dic, 2011 2:25 pm

Re: Tiempo estimado excel

Mensaje por laguineu »

No se como lo hace Jorge , ni tampoco lo he hecho alguna vez , pero usando un poco la lógica puede que salga algo.

En la mayoría de los casos se trata de un bucle repetitivo y con solo calcular el tiempo que tarda en completar un paso del bucle y el numero total de repeticiones se puede hallar lo que queda (en cada momento) hasta terminar todo el proceso .

Con lo poco que se en VBA he creado esta Macro , para que te hagas una idea de como se puede hacer .

Código: Seleccionar todo

Sub tiempo_restante()

n = InputBox("Introduzca el numero de procesos en el bucle")
Range("C3") = "Nº Procesos": Range("E3") = "Tiempo Restante"

For i = 1 To n
    t1 = Now
 Range("C4") = i
    t2 = Now - t1 + 0.00000001
 Range("E4") = Format((n - i) * t2, "hh:mm:ss")
Next i

End Sub

La macro , pide un numero "n" de pasos que quieres que tenga el bucle . El proceso que tienen que hacer a cada paso , es Indicar en la Celda C4 , el numero del paso .
Para calcular el tiempo que tarda en hacer un solo paso se debe saber la hora cuando empieza a hacer el proceso => t1 = Now y la hora cuando termina el proceso (Now) . La diferencia Now - t1 = t2 es el tiempo que tarda en hacer un paso del bucle . Como en este caso la diferencia es muy pequeña y tiende a 0 , le sumo algo insignificativo como 0.0000001 para que no se interprete como un 0 .
Ahora , para saber cuanto tiempo queda hasta que termina todos los "n" pasos solo queda por multiplicar lo que tarda en cada paso por los pasos restantes (n - i) en cada momento . Para estar informado a cada momento cuanto queda se le asigna a la Celda E4 este tiempo restante (n - i)* t2 en formato horas:minutos:segundos (hh:mm:ss) .

Espero que te sea uitil
Imagen
FEsmeralda
10
10
Mensajes: 75
Registrado: Jue 03 Oct, 2013 3:54 pm

Re: Tiempo estimado excel

Mensaje por FEsmeralda »

Gracias, lo he probado y puede servir.
Aunque si haces varias cosas en el bucle la cosa cambia y el tiempo hace cosas raras y no se estabiliza.

saludos
Avatar de Usuario
laguineu
11
11
Mensajes: 508
Registrado: Vie 30 Dic, 2011 2:25 pm

Re: Tiempo estimado excel

Mensaje por laguineu »

FEsmeralda escribió:Gracias, lo he probado y puede servir.
Aunque si haces varias cosas en el bucle la cosa cambia y el tiempo hace cosas raras y no se estabiliza.

saludos
Si se tarda mas de un segundo en hacer un solo paso , creo que puedes borrar lo que sume adicional para que no sea 0 . Me refiero a borrar " + 0.00000001 " . Esto lo he sumado porque la diferencia (Now - t1) ,en el caso que he expuesto yo , daba 0 , ya que no tardaba nada en hacer un paso .

El "0.00000001" creo que corresponde a un segundo si se traduce al formato de horas hh:mm:ss
Imagen
Avatar de Usuario
jce2
12
12
Mensajes: 2419
Registrado: Mar 28 Jun, 2005 8:09 pm
Contactar:

Re: Tiempo estimado excel

Mensaje por jce2 »

Se me había pasado por alto este hilo, y ya que se alude a alguna de mis aplicaciones os paso el código para poner el tiempo restante.

Código: Seleccionar todo

Function Progreso(parcial As Long, total As Long)

Dim Hfin As Date

On Error Resume Next
If (parcial / (total * 0.01)) > AVANCE Then
     AVANCE = AVANCE + 1
     Hfin = Time
     Range("A1").Value = (Hfin - HInicio) * (-1 + total / (parcial + 1))
    DoEvents
End If

End Function


Como veis es una función a la que se llama conforme vamos avanzando en un bucle, al principio del mismo fijamos la HInicio y vamos calculando el tiempo que nos ha costado llevar a cabo la parte parcial frente al total.
Imagen[align=center]Rentabilidad desde 2010/11: Ideales 197,2% - Peña 105.3%[/align]
Responder