Código en Visual basic, ¿Imprimir hojas según celda?

Tengo un código en Visual basic para que, si en determinadas celdas se cumple una condición, me muestre/oculte hojas.
Por ejemplo, en la celda "G56", si el valor es igual a "si", que muestre la hoja "X". Así, tengo otras 2 hojas vinculadas a las celdas G55 y G60.
Lo que no logro hacer es que me imprima las hojas que estén visibles, por ejemplo: Si "X" y "Z" están visibles pero "Y" no, que imprima POR y Z; si únicamente está visible "Z", que imprima solo Z.
No puedo imprimir todo el libro, porque existen hojas que previamente se han impreso o no es necesario imprimirlas.
Había hecho tres módulos (imprimir3, imprimir3 e imprimir5); uno para que verificara el valor de cada hoja, de ser cierta la condición, la seleccionara y luego la imprimiera. Sin embargo, únicamente funcionada "imprimir3", o sea, imprimía únicamente 1 hoja de las 3 mostradas (en el supuesto de que la condición se cumpliera y mostrara las 3 hojas).
Ahora, estoy intentando hacer la validación en un solo módulo, pero ahora no imprime ni siquiera una hoja:
Sub imprimir3()
If Range("g56") = "si" Then
Worksheets(Array("Ixcanil")).Select
ActiveWindow.SelectedSheets.PrintOut copies:=1
If Range("g55") = "si" Then
Worksheets(Array("Promerica")).Select
ActiveWindow.SelectedSheets.PrintOut copies:=1
If Range("g60") = "si" Then
Worksheets(Array("Bantrab")).Select
ActiveWindow.SelectedSheets.PrintOut copies:=1
End If
End If
End If
End Sub
Los nombres de las hojas están en el módulo: Ixcanil, Promerica y Bantrab.

1 Respuesta

Respuesta
1
Acá tienes un procediiento para imprimir solo las hojas visibles
http://support.microsoft.com/kb/136261/es
y revisa esto
http://www.rondebruin.nl/print.htm#Hidden
Gracias, pero no quisiera imprimir todas las hojas visibles; existe un procedimiento anterior que imprime varias hojas, por lo que no me serviría re-imprimirlas.
Además de que hay 1 hoja que no se debe de imprimir.
Tu pregunta estaba orientada a que no podías imprimir las hojas visibles.
Para tu caso se debería programar en el macro:
1. Se activaran según el valor de la celda las POR Y Z en visible y Que colocara hidden todas las hojas diferentes a POR Y Z
2.- Hecho esto imprimo las visibles y creo que estaría resuelto.
3- Vuelvo a colocar visible luego de imprimir las que oculté en la parte 1

Añade tu respuesta

Haz clic para o