Cómo crear una barra de progreso en VBA (Excel)

Una barra de progreso muestra visualmente el avance de una macro en Excel. Se crea con un UserForm y controles Label que se van activando secuencialmente.

Pasos

  1. Abre Excel, pulsa Alt+F11 para abrir el editor VBA. En el explorador de proyectos, clic derecho > Insertar > UserForm. Desde el Cuadro de herramientas, inserta 10 etiquetas (Label) alineadas horizontalmente.
  2. Propiedades de cada Label: Height=42, Width=12, Top=12. Deja Visible=False inicialmente.
  3. Añade un CommandButton al formulario. Clic derecho > Ver código.
  4. Declara variable: Dim cnt As Integer: cnt = 0.
  5. En el evento UserForm_Initialize, oculta todas las etiquetas:
    Me.Label1.Visible = False ... Me.Label10.Visible = False.
  6. En el botón, usa un bucle Do While cnt < 10 con Select Case cnt para mostrar cada label y poner su BackColor = vbBlue. Incluye Me.Repaint y Application.Wait Now + TimeValue("00:00:05") para pausar 5 segundos. Incrementa cnt = cnt + 1 y Loop.
  7. Inserta un Módulo (Insertar > Módulo) y añade:
    Sub showProgressBar()
    UserForm1.Show
    End Sub
    .
  8. Ejecuta con F5.

Esta barra simple muestra 10 pasos con 5 segundos cada uno; adapta tiempos y colores según necesites.