#Excel – Come gestire l’area di stampa [VBA]

Di default, Excel stampa tutti i dati del foglio attivo. Nel caso però volessimo stampare solo una porzione di tali dati, è possibile selezionare le celle coinvolte e, in fase di stampa, indicare ad Excel che vogliamo stampare solo quelle:

Selezione stampa
Figura 1 – Come stampare solo le celle selezionate

Se però vi capita frequentemente di stampare una selezione specifica di un foglio di lavoro, allora forse è consigliabile definire un’area di stampa che comprenda solo la selezione. Un’area di stampa può essere quindi composta da uno o più intervalli di celle e quando si stampa un foglio di lavoro dopo aver definito un’area di stampa, solo l’area di stampa viene stampata.

Un’area di stampa rimane in memoria
A differenza del metodo precedente, un’area di stampa rimane in memoria e, una volta impostata, rimane la stessa fino a quando non decidiamo di eliminarla oppure di modificarla.

Vedremo ora come gestire un’area di stampa, come impostarla e come eliminarla.

Come impostare un’area di stampa

Esistono molti modi in cui è possibile impostare un’area di stampa:

Metodo 1 – Usando il comando “Imposta area di stampa”

  1. Selezionare la celle che si desidera stampare
  2. Sulla barra multifunzione, selezionare la scheda LAYOUT DI PAGINA
  3. Nel gruppo “Imposta pagina” cliccare su “Area di stampa” e quindi su “Imposta area di stampa”
    Comando Imposta area di stampa
    Figura 2 – Il comando “Imposta area di stampa”

Metodo 2 – Usando la finestra di dialogo “Imposta pagina”

  1. Premere in sequenza i tasti Alt, P e I (oppure cliccare sul pulsante di visualizzazione – in basso a destra – del gruppo “Imposta pagina” della scheda LAYOUT DI PAGINA della barra multifunzione)
  2. Selezionare la scheda “Foglio” della finestra di dialogo “Imposta pagina”
  3. Scrivere l’intervallo da stampare nella casella “Area di stampa” (oppure cliccare sul pulsante di selezione alla destra della casella “Area di stampa” e selezionare l’intervallo da stampare)
  4. Confermare l’impostazione premendo il pulsante OK
    Area di stampa tramite imposta pagina
    Figura 3 – Come impostare l’area di stampa tramite la finestra “Imposta pagina”

Al punto 3 è possibile inserire sia un intervallo di celle (ad esempio A1: B13), sia il “nome” che è stato precedentemente assegnato ad un intervallo. Excel consente anche di specificare più parti dello stesso foglio di lavoro. Per farlo, è sufficiente inserire gli intervalli (oppure i “nomi”) separati da virgole, per esempio, B3: F14, B19: F30.

LEGGI:  #Excel - Cos'è una Tabella Pivot e come realizzarne una

Metodo 3 – Usando del codice VBA

La seguente procedura può essere molto comoda nel caso in cui la cartella di lavoro sia condivisa e non vogliamo che qualcun altro modifichi l’area di stampa. Praticamente faremo in modo che all’atto della stampa Excel riporti automaticamente l’area di stampa secondo le nostre impostazioni.

Prima di procedere occorre salvare il nostro file in modo che possa contenere macro. Nella finestra di dialogo “Salva con nome”, oltre ad inserire un nome a nostra scelta, dall’elenco a discesa “Salva come:” occorrerà selezionare la voce “Cartella di lavoro con attivazione macro di Excel”. A questo punto procediamo come segue:

  1. Premere la combinazione di tasti Alt+F11 per visualizzare l’editor VBA
  2. Nella finestra appena apparsa, fare doppio clic sulla voce “Questa_cartella_di_lavoro”
    VBA macro - Passaggio 1
    Figura 4 – Gestire l’area di stampa in VBA – Passagio 1
  3. Nella finestra bianca che si è aperta inserire il seguente codice: 
    1. Private Sub Workbook_BeforePrint(Cancel As Boolean)
    2. Worksheets("Foglio1").PageSetup.PrintArea = "A1:B13"
    3. End Sub
    Avendo chiaramente cura di modificare il nome del foglio e l’intervallo da stampare

A questo punto, qualunque sia l’area di stampa impostata con i primi due metodi che vi ho indicato, al momento di stampare Excel la sostituirà con l’intervallo indicato nel codice.

Come eliminare un’area di stampa

Vediamo ora invece quali sono i metodi principali per eliminare un’area di stampa precedentemente impostata:

Metodo 1 – Usando il comando “Cancella area di stampa”

  1. Sulla barra multifunzione, selezionare la scheda LAYOUT DI PAGINA
  2. Nel gruppo “Imposta pagina” cliccare su “Area di stampa” e quindi su “Cancella area di stampa”
    Cancella area di stampa
    Figura 5 – Il comando “Cancella area di stampa”

Metodo 2 – Usando la finestra di dialogo “Imposta pagina”

  1. Premere in sequenza i tasti Alt, P e I (oppure cliccare sul pulsante di visualizzazione – in basso a destra – del gruppo “Imposta pagina” della scheda LAYOUT DI PAGINA della barra multifunzione)
  2. Selezionare la scheda “Foglio” della finestra di dialogo “Imposta pagina”
  3. Cancellare quanto trovate scritto nella casella “Area di stampa”
  4. Confermare l’impostazione premendo il pulsante OK

Metodo 3 – Usando la finestra di dialogo “Gestione nomi”

  1. Selezionare la scheda FORMULE della barra multifunzione
  2. Nel gruppo “Nomi definiti” cliccare su “Gestione nomi”
  3. Nella lista dei nomi definiti cercarne uno chiamato Area_stampa. Questa è la definizione dell’area di stampa (se non esiste una voce con questo nome, significa che non vi è un’area di stampa definita nella cartella di lavoro)
  4. Selezionare il nome Area_stampa e cliccare sul pulsante “Elimina”

In alternativa ai punti 1 e 2 è possibile semplicemente premere la combinazione di tasti Ctrl+F3.

Metodo 4 – Usando del codice VBA

Se per impostare l’area di stampa fosse stato usato solo il Metodo 3 del paragrafo relativo, per eliminarla sarebbe sufficiente cancellare il codice presente all’evento BeforePrint dell’oggetto workbook.

Il codice seguente, invece, elimina l’area di stampa da tutti i fogli della cartella di lavoro. Questo è molto comodo nel caso in cui si stia lavorando con una cartella contenente molti fogli di lavoro e si voglia eliminare l’area di stampa da tutti.

LEGGI:  #Excel - Come bloccare righe e colonne in Excel

Prima di procedere, come al solito, occorrerà salvare il nostro file in modo che sia in grado di contenere macro (Salva con nome > Salva come: Cartella di lavoro con attivazione macro di Excel).

  1. Premere la combinazione di tasti Alt+F11 per visualizzare l’editor VBA
  2. Nella maschera che ci si propone selezioniamo il progetto VBA relativo alla cartella in uso e usando il tasto destro del mouse inseriamo un nuovo modulo standard:
    VBA - Inserire modulo standard
    Figura 6 – Come inserire un modulo standard
  3. Nella finestra bianca del nuovo modulo così creato inseriamo il seguente codice:
    1. Sub CancellaAreaStampa()
    2. Dim ws As Worksheet
    3. Dim msg As String
    4. Dim curWs As String
    5. msg = "Sei sicuro di voler cancellare l'area di stampa da tutti i fogli di lavoro?"
    6. If MsgBox(msg, vbYesNo) = vbNo Then Exit Sub
    7. Application.ScreenUpdating = False
    8. curWs = ActiveSheet.Name
    9. For Each ws In ThisWorkbook.Worksheets
    10. ws.Activate
    11. ActiveSheet.PageSetup.PrintArea = ""
    12. Next ws
    13. Sheets(curWs).Select
    14. Application.ScreenUpdating = True
    15. End Sub
  4. Ogniqualvolta si voglia eliminare l’area di stampa da tutti i fogli della cartella di lavoro è sufficiente premere la combinazione di tasti Alt+F8 per aprire la finestra di dialogo “Macro”. Un doppio clic sulla voce “CancellaAreaStampa” sarà tutto il lavoro che dovremo svolgere.

Alcuni punti di attenzione

  • Avendo già impostato un’area di stampa, è possibile aggiungere ad essa ulteriori intervalli di celle selezionandole e cliccando sul comando “Aggiungi ad area di stampa” (scheda LAYOUT DI PAGINA > gruppo “Imposta pagina” > Area di stampa)
  • Se si desidera stampare il foglio di lavoro e ignorare, solo per questa volta, l’area di stampa impostata, pur lasciandola intatta per le stampe future, è possibile scegliere l’opzione “Ignora area di stampa” dalle impostazioni di stampa
    Ignora area di stampa
    Figura 7 – Come ignorare l’area di stampa solo per la stampa attuale

LEGGI:  #Excel - Come stampare righe e colonne di intestazione in ogni pagina
Copyright © 2014-2017  Office Academy. Tutti i diritti riservati.
Vai alla barra degli strumenti