Los libros de trabajo pueden contener todo tipo de datos. Si tiene un libro de trabajo que incluye varias hojas de trabajo, cada una de las cuales contiene solo una pequeña cantidad de datos, es posible que se pregunte si existe una manera de imprimir las múltiples hojas de trabajo en una sola hoja de papel.

Hay un par de formas en las que puede abordar una solución a este problema. La primera es simplemente imprimir varias páginas por hoja, utilizando las capacidades del controlador de su impresora. Por ejemplo, tengo una HP LaserJet más antigua y el controlador de la impresora me permite especificar el número de páginas a imprimir por hoja de papel. Si quisiera imprimir tres o cuatro hojas de trabajo de una sola página en una hoja de papel, todo lo que tengo que hacer es seguir estos pasos:

  1. Elija Imprimir en el menú Archivo. Excel muestra el cuadro de diálogo Imprimir.

  2. En el área Imprimir qué del cuadro de diálogo, elija la opción Todo el libro.

  3. Haga clic en el botón Propiedades. Excel muestra el cuadro de diálogo Propiedades de la impresora, con la pestaña Diseño seleccionada.

  4. Establezca el control Páginas por hoja en 4.

  5. Haga clic en Aceptar para cerrar el cuadro de diálogo Propiedades.

  6. Haga clic en Aceptar para imprimir las hojas de trabajo.

Su impresora puede ofrecer una capacidad similar a la que se describe aquí, pero es posible que deba explorar un poco a través del cuadro de diálogo Propiedades de la impresora para encontrar esa capacidad. Por supuesto, imprimir de esta manera puede dar lugar a un texto muy pequeño en la impresión, porque el controlador de la impresora simplemente reduce cada página para ocupar un área proporcional de la página impresa. Si desea reducir parte del espacio en blanco y, por lo tanto, aumentar el tamaño del texto impreso, debe buscar una solución diferente.

Muchas personas, para consolidar lo que se imprime, en realidad crean una «hoja de trabajo de impresión» que no contiene más que referencias a las áreas que se imprimirán en las otras hojas de trabajo del libro. Estas referencias se pueden hacer a través de fórmulas que hacen referencia a los datos de cada hoja de trabajo o utilizando la herramienta de la cámara en Excel. (La herramienta de la cámara se ha descrito en otros números de ExcelTips.)

Para una solución automatizada de combinar varias hojas de trabajo en una sola hoja de trabajo, puede usar una macro. La siguiente macro creará una nueva hoja de trabajo al final de su libro de trabajo y copiará el contenido de todas las demás hojas de trabajo en ella.

Sub PrintOnePage()

Dim wshTemp As Worksheet, wsh As Worksheet     Dim rngArr() As Range, c As Range     Dim i As Integer     Dim j As Integer

ReDim rngArr(1 To 1)

For Each wsh In ActiveWorkbook.Worksheets         i = i + 1         If i > 1 Then   ' resize array             ReDim Preserve rngArr(1 To i)

End If

On Error Resume Next         Set c = wsh.Cells.SpecialCells(xlCellTypeLastCell)

If Err = 0 Then             On Error GoTo 0

'Prevent empty rows             Do While Application.CountA(c.EntireRow) = 0 _               And c.EntireRow.Row > 1                 Set c = c.Offset(-1, 0)

Loop

Set rngArr(i) = wsh.Range(wsh.Range("A1"), c)

End If     Next wsh

'Add temp.Worksheet     Set wshTemp = Sheets.Add(after:=Worksheets(Worksheets.Count))



On Error Resume Next     With wshTemp         For i = 1 To UBound(rngArr)

If i = 1 Then                 Set c = .Range("A1")

Else                 Set c = _                   ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell)

Set c = c.Offset(2, 0).End(xlToLeft)  'Skip one row             End If

'Copy-paste range (prevent empty range)

If Application.CountA(rngArr(i)) > 0 Then                 rngArr(i).Copy c             End If         Next i     End With     On Error GoTo 0

Application.CutCopyMode = False ' prevent marquies

With ActiveSheet.PageSetup     'Fit to 1 page         .Zoom = False         .FitToPagesWide = 1         .FitToPagesTall = 1     End With

'Preview New Sheet     ActiveWindow.SelectedSheets.PrintPreview

'Print Desired Number of Copies     i = InputBox("Print how many copies?", "ExcelTips", 1)

If IsNumeric(i) Then         If i > 0 Then             ActiveSheet.PrintOut Copies:=i         End If     End If

'Delete temp.Worksheet?

If MsgBox("Delete the temporary worksheet?", _       vbYesNo, "ExcelTips") = vbYes Then         Application.DisplayAlerts = False         wshTemp.Delete         Application.DisplayAlerts = True     End If End Sub

Después de armar la hoja de trabajo combinada, la macro muestra la hoja de trabajo usando Vista previa de impresión. Cuando cierra la Vista previa de impresión, le pregunta cuántas copias de la hoja de trabajo desea imprimir. Si ingresa un número mayor que cero, se imprimen tantas copias. Finalmente, la macro ofrece eliminar la hoja de trabajo combinada justo antes de terminar.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (3243) se aplica a Microsoft Excel 97, 2000, 2002 y 2003. Puede encontrar una versión de este consejo para la interfaz de cinta de Excel (Excel 2007 y posterior) aquí:

link: / excelribbon-Printing_Multiple_Worksheets_on_a_Single_Page [Impresión de varias hojas de trabajo en una sola página].