Contador de filas en VbExcel durante la ejecución de la macro

Resuelto
necro27 Mensajes publicados 125 Fecha de registro   Estado Miembro Última intervención   -  
necro27 Mensajes publicados 125 Fecha de registro   Estado Miembro Última intervención   -
Hola,

Reubico mi pregunta anterior bajo un título más significativo:

Cómo puedo hacer para, al ejecutar una macro en Excel, que en realidad procesa un número de filas que varía según los archivos, mostrar el progreso en tiempo real en la "barra gris" situada justo debajo de la denominación de las hojas de Excel.

De hecho, me gustaría un texto del tipo:

' para el procesamiento en la fila 1:
Progreso: fila 1 / 5 550.

' para el procesamiento en la fila 3 000:
Progreso: fila 3 000 / 5 550.

Claramente, el texto debe actualizarse con cada nueva fila.

Esto permite, por ejemplo, seguir el estado del procesamiento y sobre todo saber si el programa se ha bloqueado o no.

De hecho, actualmente un procesamiento de 5 000 filas toma alrededor de 10 minutos; así, ¿cómo saber después de 20 minutos si el programa se ha bloqueado o si sigue en curso?

Espero haber sido claro porque no logro encontrar nada relacionado con lo que busco en Internet, y aún menos en la ayuda de VB.

Si necesitas más claridad, estoy a tu disposición.

Gracias de antemano,
Necro27

Configuración: Windows 2003 Internet Explorer 6.0

1 respuesta

necro27 Mensajes publicados 125 Fecha de registro   Estado Miembro Última intervención   8
 
¡Está bien, lo he encontrado!

Para aquellos que tengan el mismo problema, basta con usar justo antes de finalizar el bucle:

<application.statusbar la="" l="" y="" en="" nb_lig="">

Ejemplo:

dim nb_lig as integer, ligne as integer

nb_lig = 1
ligne = 2

'Cálculo del número total de líneas
while range("A1") <> Empty
[..código..]
nb_lig = nb_lig + 1
activecell.offset(0,1).activate
wend

'Tapartado de procesamiento
while range("A1")
[..código..]
ligne = ligne + 1
Application.statusbar="Procesando la línea" & ligne & " de " & nb_lig & " líneas"
wend

Y al final de la macro:

Application.statusbar = false
End Sub

Voilà, lo esencial está ahí; si tenéis preguntas no dudéis, las desenvolvería...

Bonne fin de journée à tous

Necro27</application.statusbar>
0