Estos días me estoy enfocando más en programación, algo que no he cubierto mucho a lo largo de los últimos 3 años, ya que a veces he pensado que las macros son en ocasiones sobreutilizadas, y por eso no le dediqué mucho tiempo.
Pero ahora me gustaría cubrir la programación en VBA más.
Hoy hablaré de cómo imprimir hojas usando VBA.
En Excel cuando se hace clic en el botón Imprimir, Excel no imprime las hojas que están ocultas, a menos que lo hagamos aa través de VBA.
Aquí dejo una lista de la mayoría de los ejemplos de impresión de hoja mediante Excel VBA, Quizás antes de leer este tutorial, necesitemos repasar la diferencia entre las hojas de trabajo (Worksheets) y hojas (Sheets).
Para ello pulsa en el siguiente enlace:
Hojas de trabajo (Worksheets) vs Hojas (Sheets) en Excel VBA
Hojas de trabajo (Worksheets) vs Hojas (Sheets) en Excel VBA
Bueno, pues volviendo a la impresión en VBA, veamos los ejemplos más útiles.
expression.PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, Collate, PrToFileName, IgnorePrintAreas)
1. Imprimiendo Worksheets exactamente en una hoja
'Imprimimos Hoja1 exactamente en una hoja de ancho y de alto
With Worksheets("Hoja1").PageSetup
.Zoom = False
.FitToPagesTall = 1
.FitToPagesWide = 1
End With
2. Imprimiendo Worksheets con comentarios
Sub Imprimir_Hojas_con_comentarios()
'Muestra todos los comentarios en la impresión
Application.DisplayCommentIndicator = xlCommentAndIndicator
With ActiveSheet
'Tal y como están mostrados en la hoja
.PageSetup.PrintComments = xlPrintInPlace
'Imprime la Hoja Activa.
.PrintOut
End With
End Sub
3. Imprimiendo sólo las Worksheets que están ocultas
Sub Imprimir_solo_Hojas_Ocultas()
Dim Vis As Long
Dim hj As Worksheet
For Each hj In ActiveWorkbook.Worksheets
With hj
Vis = .Visible
'comprobamos si la hoja no está oculta en cuyo caso Vis tomará el valor -1
If Vis >= 0 Then
.Visible = xlSheetVisible
.PrintOut
.Visible = Vis
End If
End With
Next hj
End Sub
4. Imprimiendo todas las Worksheets ocultas y visibles
Sub Imprimir_Hojas_Visibles_Y_Ocultas()
Dim Vis As Long
Dim hj As Worksheet
For Each hj In ActiveWorkbook.Worksheets
With hj
Vis = .Visible
.Visible = xlSheetVisible
.PrintOut
.Visible = Vis
End With
Next hj
End Sub
5. Imprimiendo múltiples Worksheets
'Imprimiendo la hoja2 y la 3
Worksheets(Array("Hoja2", "Hoja3")).PrintOut
6. Imprimiendo todas las Worksheets
Worksheets.PrintOut
7. Imprimiendo todas las Hojas que son tipo Gráfico (no los gráficos en hojas)
Charts.PrintOut
8. Imprimiendo todo el libro de trabajo (Workbook)
'Imprimir todo el libro de trabajo activo
ActiveWorkbook.PrintOut
''Imprimir todo el libro de trabajo donde se encuentra el código VBA
ThisWorkbook.PrintOut
9. Imprimir una hoja específica
'Imprimir sólo "Hoja2"
Sheets("Hoja2").PrintOut
10. Imprimir sólo la hoja activa (Active Sheet)
ActiveSheet.PrintOut
11. Imprimir las hojas seleccionadas
ActiveWindow.SelectedSheets.PrintOut
12. Imprimir sólo lo seleccionado
Selection.PrintOut
13. Imprimir un rango (Range)
'Imprimir Range A1:H6
Range("A1:H6").PrintOut
14. Vista preliminar de una hoja
'Vista preliminar de la hoja activa
ActiveSheet.PrintOut preview:=True
Te ha gustado el artículo?
No te olvides de mostrar tu gratitud hacia el autor (yo) mediante una de las 2 siguientes acciones:
1. Puedes dejar una donación pinchando en la siguiente imagen.
2. Puedes recomendar el artículo en Google haciendo clic en g+1 (justo después del artículo), también puedes compartirlo en Facebook, y/o dejar comentarios.
Quieres aprender más en Excel o tienes algún problema que necesita solución?
Puedo ofrecer servicios de consultoría así como cursos personalizados online. Mírate el siguiente enlace si estás interesado/a.
El Sabio de Excel busca colaborades del blog
Si te interesa compartir tu conocimiento sobre Excel de tal manera que puedas ayudar a otras personas, por favor mándame un email a elsabiodeexcel@gmail.com
Subscríbete y recibe todos las entradas por email
Para ello regístrate suministrando tu email en el sitio "Recibe los trucos en tu email" del menú de la derecha.
Para ello regístrate suministrando tu email en el sitio "Recibe los trucos en tu email" del menú de la derecha.
No hay comentarios:
Publicar un comentario