Imprimir segun selección del usuario

3 envíos / 0 nuevos
Último envío
mianca
Imagen de mianca
Offline
última acción: Hace 6 años 3 semanas
alta: 06/05/2017 - 13:35
Puntos: 285
Imprimir segun selección del usuario
Hola tengo una macro que imprime varias hojas de un libro Excel, me gustaría poder hacerla un poco mas sofisticada hay veces que alguna hoja no habría que imprimirla por no tener información como se podría hacer que al imprimir seleccionara las hojas a imprimir.

adjunto la macro que tengo actualmente que me imprime todo

Sub IMPRIMIRTODOS()
Sheets("RANGOS").Select
Application.GoTo Reference:="PORTADA"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("DEM").Select
Application.GoTo Reference:="HOJADEM"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("ALBA").Select
Application.GoTo Reference:="HOJAALBA"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("CAR").Select
Application.GoTo Reference:="HOJACAR"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("FONTA").Select
Application.GoTo Reference:="HOJAFONT"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("VEN").Select
Application.GoTo Reference:="HOJAVEN"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("AR").Select
Application.GoTo Reference:="HOJAAR"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("RES").Select
Application.GoTo Reference:="HOJARES"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("SEG").Select
Application.GoTo Reference:="HOJASEG"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("PCI").Select
Application.GoTo Reference:="HOJAPCI"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"

Sheets("RESUMEN").Select
Application.GoTo Reference:="HOJARESUMEN"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
Application.GoTo Reference:="R1C1"
End Sub

Muchas gracias
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 23 horas 45 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
así imprimiendo una a una,

así imprimiendo una a una, pues tendrás que poner la instrucción qeu imprime dentro de un condicional que compruebe si quieres o no imprimir la hoja

If HayQueImprimirHoja then

   ActiveWindow.SelectedSheets.PrintOut

end if

 

el problema está en saber qué quieres comprobar para saber si una hoja se tiene que imprimir o no

¿es sólo comprobar si hay datos?¿hay encabezados en la hoja sin datos o está completamente vacía?¿hay algo en la hoja que nos permita saber automáticamente si quieres o no imprimirla?

 

 

------
Ya sé Excel, pero necesito más.

mianca
Imagen de mianca
Offline
última acción: Hace 6 años 3 semanas
alta: 06/05/2017 - 13:35
Puntos: 285
Seleccionar hojas a imprimir

La idea que tengo es que el usuario seleccione que hoja quiere imprimir y la seleccione y luego la imprima en pdf en una carpeta asignada en una celda y un nombre asignado en una celda me han pasado una hoja que hace el seleccionar las hojas a imprimir y ahora quiero poderlo imprimir en pdf en la ruta y nombre definido haber si me deja subir archivo