Stampa di più fogli di lavoro su una singola pagina (Microsoft Excel)
Le cartelle di lavoro possono contenere tutti i tipi di dati. Se hai una cartella di lavoro che include un numero di fogli di lavoro, ognuno contenente solo una piccola quantità di dati, potresti chiederti se esiste un modo per stampare più fogli di lavoro su un singolo foglio di carta.
Ci sono un paio di modi in cui puoi avvicinarti a una soluzione a questo problema. Il primo è semplicemente stampare più pagine per foglio, utilizzando le funzionalità del driver della stampante. Ad esempio, ho una vecchia HP LaserJet e il driver della stampante mi consente di specificare il numero di pagine da stampare per foglio di carta. Se volessi stampare tre o quattro fogli di lavoro di una sola pagina su un unico foglio di carta, tutto ciò che devo fare è seguire questi passaggi:
-
Scegli Stampa dal menu File. Excel visualizza la finestra di dialogo Stampa.
-
Nell’area Stampa della finestra di dialogo, scegliere l’opzione Intera cartella di lavoro.
-
Fare clic sul pulsante Proprietà. Excel visualizza la finestra di dialogo Proprietà per la stampante, con la scheda Layout selezionata.
-
Imposta il controllo Pages Per Sheet su 4.
-
Fare clic su OK per chiudere la finestra di dialogo Proprietà.
-
Fare clic su OK per stampare effettivamente i fogli di lavoro.
La stampante può offrire una funzionalità simile a quanto descritto qui, ma potrebbe essere necessario esplorare attraverso la finestra di dialogo Proprietà della stampante per trovare tale funzionalità. Ovviamente, stampare in questo modo può portare a un testo molto piccolo sulla stampa, perché il driver della stampante riduce semplicemente ogni pagina per occupare un’area proporzionata della pagina stampata. Se si desidera ridurre parte dello spazio bianco e quindi aumentare la dimensione del testo stampato, è necessario cercare una soluzione diversa.
Molte persone, per consolidare ciò che viene stampato, in realtà creano un “foglio di lavoro per la stampa” che non contiene altro che riferimenti alle aree da stampare sugli altri fogli di lavoro della cartella di lavoro. Questi riferimenti possono essere eseguiti tramite formule che fanno riferimento ai dati su ciascun foglio di lavoro o utilizzando lo strumento fotocamera in Excel. (Lo strumento fotocamera è stato descritto in altri numeri di ExcelTips.)
Per una soluzione automatizzata di amalgamare più fogli di lavoro in un unico foglio di lavoro, puoi utilizzare una macro. La seguente macro creerà un nuovo foglio di lavoro alla fine della cartella di lavoro e copierà il contenuto da tutti gli altri fogli di lavoro al suo interno.
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
Dopo che il foglio di lavoro combinato è stato assemblato, la macro visualizza il foglio di lavoro utilizzando Anteprima di stampa. Quando si chiude l’anteprima di stampa, viene chiesto quante copie del foglio di lavoro si desidera stampare. Se inserisci un numero maggiore di zero, verranno stampate altrettante copie. Infine, la macro offre di eliminare il foglio di lavoro combinato per te appena prima di terminare.
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (3243) si applica a Microsoft Excel 97, 2000, 2002 e 2003. Puoi trovare una versione di questo suggerimento per l’interfaccia a nastro di Excel (Excel 2007 e versioni successive) qui: