Mmaresma/ julio 19, 2016/ Como se hace en Excel, Excel Avanzado

En ocasiones, el usuario que está delante de la pantalla esperando un proceso largo, suele ponerse “algo” nervioso si no ve algún tipo de “señal” que lo que está esperando se está realizando.

A esto se le suele llamar “Barra de Proceso”.

La barra de proceso es la típica barra azul (o de cualquier color que nosotros queramos) que se mueve en función de los cálculos que se están realizando.

Por ejemplo:

Barra_Progreso_Excel_1

 

¿Cómo se consigue esto?

En principio es fácil. En el formulario que tengamos el código, donde corre el proceso, añadimos lo siguiente desde:

Barra_Progreso_Excel_2

 

  • 1 Marco (Frame) Barra_Progreso_Excel_4
  • 1 Etiqueta (label) dentro del Marco Barra_Progreso_Excel_3

 

Ahora hay que hacer “algo de matemáticas”.

Suponiendo que el proceso tuviera un bucle (de ahí la barra de progreso, sino “pa que”) habría algo parecido a lo siguiente:

For Variable = 0 to VariableNumérica

‘ Aquí el código que tuviera que haber

‘ Empezamos con los cálculos para el “efecto”. Sabiendo el ancho del Marco (Propiedad Width) por ejemplo 400 (esto es lo  que mide en mi ejemplo) hay que calcular “la regla de tres” de los registros que se están procesando, para ello tenemos los siguientes valores:

Variable = El número de proceso actual

VariableNumérica = El número de veces que se va a procesar en total.

Con lo que ya podemos realizar uno de los cálculos:

ReglaDeTres = (Variable * 100) / VariableNumérica

En ReglaDeTres tenemos el % del proceso actual. Imaginemos que tenemos un valor en ‘VariableNumérica’ de 5000 y un valor en ‘Variable’ de 110 (vuelta número 110 dentro del bucle) con lo cual tendríamos:

ReglaDeTres = (110 * 100) / 5000 = 2,2%

Ahora, teniendo ya el % del proceso, podemos calcular el ancho de la etiqueta, sabiendo que 400 = 100%

Con lo cual, tenemos:

AnchoEtiqueta = (ReglaDeTres * 400) / 100

Solo nos faltaría asignar el ancho del Marco al valor de la variable ‘AnchoEtiqueta

Next Variable

No cabe decir que el color azul, lo tenemos que poner el las propiedades de la etiqueta (label), o cualquier otro color que nosotros queramos:

Barra_Progreso_Excel_5

Aquí os dejo un ejemplo:  ProcessBar

Espero que os guste, 🙂

Comentario

Comentario

Share this Post