Línea de MsgBox en macro excel para si o no

Esta línea no me funciona

Si le digo no, es como si no existiera el MsgBox

Si le digo si, sucede lo mismo, si o no siempre crea los archivos pero

 'Imprimir
    Unload Me UserForm4 '. Hide
    If MsgBox("¿Confirma IMPRIMIR el registro? ", vbYesNo + vbQuestion, "Impresion") = vbNo Then Exit Sub
'SI LE DIGO No, QUIERO QUE SALGA DE LA MACRO PERO QUE APAREZCA EL FORM NUEVAMENTE, CON LISTA VACIA
ActiveSheet.PrintOut preview:=True
    UserForm4.Show
'Activar la siguiente linea para imprimir
    'h1.PrintOut
    h1.Visible = 0

Estan mal colocadas las lineas porque;  para que tenga la vista previa y pueda seguir para imprimir, el formulario tiene que esconderse o cerralo para que pueda seguir con la macro Impresion, porque al estar visible no se puede cerrar la vista previa para que imprima.
Si lo escondo para imprimir y luego lo traigo visible, me viene con todos los datos de la busqueda antes de esconderlo.

En este padazo de macro verás los comentarios

1 respuesta

Respuesta
1

H o l a:

No estás explicando qué es lo que necesitas, luego entonces, no sé qué es lo que quieres y tampoco puedo ayudarte.

Supongo que quieres hacer una vista previa, para eso tienes que hacer lo siguiente:

    If MsgBox("¿Confirma IMPRIMIR el registro? ", vbYesNo + vbQuestion, "Impresion") = vbNo Then Exit Sub
    '
    UserForm4. Hide
    ActiveSheet.PrintOut preview:=True
    UserForm4.Show

Si vas a generar los archivos dependiendo de la contestación, tendrás que poner la pregunta antes de la generación de los archivos, en esta secuencia:

1. Pregunta: ¿Quieres imprimir?

2. No. Salir

3. Si, generar archivos, vista previa, imprimir.

Fin

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas