Primero que nada, no olvides que con lo que tienes, al "correr" la barra de progreso, en realidad NO estara "corriendo" tu macro, pero, te dara una bonita presentacion
. PAra que REALMENTE vaya cargando la barra, mientras actua tu macro, pues el bucle de la barra deberia actuar en la misma rutina de tu macro, pero, bueno, en realidad eso es mayormente en transferencia de datos, en importaciones de datos etc.
Basandonos en lo que tu tienes, lo que podrias hacer es que alterminar de "correr" la barra, se cierre el userform:
Esto:
.....
Next x
End Sub
.....
Por
......
Next x
Unload USerform1
End Sub
Y aqui:
userform1.show
todo el codigo del macro
userform1.hide
Por
userform1.show
todo el codigo del macro
Abrahan