Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/03/2006, 04:42
Avatar de 3pies
3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 20 años, 5 meses
Puntos: 144
A ver si esto es lo que necesitas...
Código:
Sub Imprimir_solo_si_hay_datos()
'Ocultamos el proceso, para que no se vea como salta de hoja en hoja
Application.ScreenUpdating = False
'Nos desplazamos hasta la primera hoja del libro (da igual el nombre que tenga la hoja, pues siempre será Hoja1)
Hoja1.Select
'Que recorra todo el libro en búsqueda de todas las hojas
For i = 1 To Sheets.Count
    'Comprobamos que exista un dato en A1, para imprimir esa hoja
    'aunque puedes controlar más celdas, añadiéndolas al condicional
    If Range("A1") <> "" Then ActiveWindow.SelectedSheets.PrintOut Copies:=1
    'Si no estamos en la última hoja, que avance a la siguiente pestaña (u hoja)
    If i < Sheets.Count Then ActiveSheet.Next.Select
Next
'Mostramos el proceso
Application.ScreenUpdating = True
End Sub
Editado:
He incluido una línea, que es la que hace que nos desplacemos hasta la primera hoja, antes de hacer nada, ya que si el usuario está posicionado en la hoja 2 o siguientes, se produce un error (error evidente).

Última edición por 3pies; 06/03/2006 a las 05:03