RE:Sacar un msgbox de aviso y que desaparezca solo
Eso debes hacerlo con userform, pero antes debo aclararte algo yo te recomendaria asociar el evento de impresion a un boton creado por ti ya que puedes tener algo mas de opciones, ahora si no lo deseas asi entonces deberas usar el evento beforeprint del workbook,
Crea tu form, utiliza sus propiedades para editar su caption (agregale alli el nombre de la impresora, tal vez, y en letra mayuscula ) en el centro colocale una etiqueta (label) que diga ..."Impresion en proceso"... ó "Por favor espere mientras se imprime la factura", o lo que quieras agregarle.
Ahora necesitaras lo siguiente para mostrarlo y ocultarlo:
Si te decides por un boton etonces agregale esto en su evento click
nombredelform.show, si decides usar los eventos del libro coloca lo mismo alli, es una cosa o la otra segun mi criterio.
Luego coloca esto en el evento Initialize del userform
Application.OnTime Now + TimeValue("00:00:02"), "descarga"
Nota: si quieres que dure mas cambia el 02 por 04, yo creo que con eso estara bien ya que dura bastante.
Despues crea un modulo que se llame decarga y agregale esto:
Unload nombredelform
y eso es todo, con esto te quedara listo lo que quieres, saludos....