Barra de progreso para macros vb excel

Cómo se puede controlar el progreso de una barra, para que llegue al 100% independientemente de las filas que tenga mi hoja. Es decir, tengo una macro donde hago una serie de operaciones con datos de la columna A1 hasta A1000 y muestro una barra de progreso, pero quiero que el porcentaje del 100% de la barra aparezca tanto para las 1000 filas como para 500, 200... Etc.

Respuesta
1

Creo que la solución es bastante simple... En lugar de poner la última celda "A mano", trata de que Excel reconozca cuál es la última celda y la pones como final de tu Barra de progreso.

Así pues, para encontrar cuál es la última celda, debes emplear esta función:

ActiveSheet. UsedRange. SpecialCells(xlCellTypeLastCell)

No sé cómo tienes definido el código para la barra de progreso, pero lo que deberías hacer, es determinar cuál es la cantidad de celdas en el rango (ese sería el 100).

Más o menos, sería algo como esto.

...
...
   UltimaCelda= ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell)
   TotalCeldas= Range("A1:" & UltimaCelda ).Count
   BarraProgreso.Min= 1
   BarraProgreso.Max =TotalCeldas
For X = 1 to TotalCeldas
.... (Aqui van las operaciones que necesites hacer)
     BarraProgreso.Value= X     'Ajusta el control de progreso a la celda actual -El propio                                                                        'objeto Barra progreso calcula Qué porcentaje representa X
Next X

...
...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas