Excel è uno strumento utile per tenere traccia di tutti i tipi di dati. Molte persone lo utilizzano al lavoro per creare report ad-hoc per diversi reparti o progetti. Mentre lavori con i tuoi dati, potresti chiederti come puoi inserire automaticamente interruzioni di pagina quando il contenuto di una determinata colonna cambia. Ad esempio, potresti avere una colonna che contiene i nomi dei dipartimenti e potresti volere che ogni dipartimento inizi su una nuova pagina.

Questo è piuttosto facile da fare con la funzione Subtotali incorporata di Excel.

Tutto quello che devi fare è seguire questi passaggi:

  1. Assicurati che la tabella contenga etichette di colonna. Ad esempio, se la colonna A contiene i nomi dei dipartimenti, la cella A1 potrebbe contenere un’etichetta come “Dipartimento”. Assicurati che tutte le colonne abbiano etichette.

  2. Ordina i dati nella tabella, utilizzando la colonna del reparto come chiave.

  3. Con qualsiasi cella all’interno della tabella ancora selezionata, scegli Subtotali dal menu Dati. Excel visualizza la finestra di dialogo Subtotali.

  4. Utilizzando l’elenco a discesa Ad ogni cambio in, selezionare Reparto.

  5. Utilizzando l’elenco a discesa Usa funzione, selezionare Conteggio.

  6. Utilizzando l’elenco Aggiungi totale parziale a, selezionare il nome della colonna in cui si desidera visualizzare il totale parziale.

  7. Assicurati che la casella di controllo Interruzione di pagina tra i gruppi sia selezionata.

  8. Fare clic su OK. Excel aggiunge i subtotali e il conteggio delle pagine, come indicato.

Se, per qualche motivo, non desideri utilizzare la funzione Subtotali, puoi sempre scrivere una macro che rimuoverà tutte le interruzioni di pagina nel foglio di lavoro, quindi aggiungere nuove interruzioni di pagina nei punti appropriati. La seguente macro farà il trucco:

Sub PageBreak()

Dim CellRange As Range     Dim TestCell As Range

ActiveSheet.ResetAllPageBreaks

Set CellRange = Selection     For Each TestCell In CellRange         If TestCell.Value <> TestCell.Offset(-1, 0).Value Then             ActiveSheet.Rows(TestCell.Row).PageBreak = xlPageBreakManual         End If     Next TestCell End Sub

Per utilizzare la macro, seleziona semplicemente le celle che desideri utilizzare come chiave per eseguire le suddivisioni, meno la cella in alto. Ad esempio, se i reparti si trovano nella colonna A, dalle righe da 2 a 37, si selezionerà l’intervallo da A3 ad A37. Eseguire la macro e tutte le interruzioni di pagina precedenti verranno rimosse e ne verranno aggiunte di nuove.

Dovresti renderti conto che Excel ha un limite quando si tratta del numero di interruzioni di pagina manuali che possono essere utilizzate in un foglio di lavoro. Secondo la Knowledge Base, tale limite è di circa 1024 interruzioni. (Il limite può variare leggermente in base alla versione di Excel che stai utilizzando, ma è proprio intorno a quel punto.) Ecco l’oscuro articolo sul limite:

http://support.microsoft.com/kb/284916

Il risultato di questo limite è che se hai un bel po ‘di interruzioni di pagina da inserire, la macro andrà in crash quando il limite di interruzioni di pagina viene superato nel foglio di lavoro. L’errore indicherà qualcosa del tipo “Impossibile impostare la proprietà PageBreak”.

_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 (2792) 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: