Come si può incrementare automaticamente il valore di una cella dopo ogni stampa?
In molti flussi di lavoro aziendali e amministrativi, potrebbe esserci la necessità di stampare più copie di un documento, fattura o assegno, ciascuna contrassegnata con un numero seriale o un identificativo univoco per facilitare la registrazione e il tracciamento. Ad esempio, immaginate di avere un foglio Excel formattato come modello di assegno o buono, e che la cella A1 contenga un numero di assegno come «Company-001». Stampando 100 copie di questa pagina, sarebbe noioso e soggetto a errori aggiornare manualmente il numero per ogni singola copia. Idealmente, vorreste che Excel incrementasse automaticamente il valore nella cella A1 per ogni azione di stampa, in modo che la prima stampa mostri «Company-001», la seconda «Company-002» e così via, fino a «Company-100».
Per impostazione predefinita, Excel non include una funzionalità integrata per incrementare automaticamente il valore di una cella dopo ogni stampa. Tuttavia, è possibile automatizzare questa operazione mediante una macro VBA. L’utilizzo di VBA rappresenta una soluzione pratica ed efficace per generare rapidamente copie cartacee con numerazione progressiva, ideale per moduli seriali, biglietti, assegni o qualsiasi altro caso in cui sia necessario assegnare identificativi univoci alle pagine stampate. Questo metodo riduce gli errori manuali, risparmia tempo e garantisce che ogni copia riceva un numero univoco, esattamente come richiesto.
Di seguito presentiamo un metodo VBA per incrementare automaticamente i valori delle celle a ogni copia stampata. Inoltre, questo articolo fornisce indicazioni sull’uso efficace, possibili avvertenze e suggerimenti pratici per ottimizzare le attività di Stampa in Blocco nel vostro flusso di lavoro Excel.
Incremento automatico del valore di una cella dopo ogni stampa con codice VBA
Incremento automatico del valore di una cella dopo ogni stampa con codice VBA
Excel non offre un’opzione nativa diretta per incrementare automaticamente il valore di una cella a ogni stampa. Per automatizzare questo processo, potete utilizzare una macro VBA che stampi in modo efficiente un numero specifico di copie, ciascuna con un identificativo progressivo nella cella A1. Questo approccio è ideale per creare copie personalizzate – come assegni, etichette o moduli – con numerazione sequenziale. Tenete presente che l’utilizzo delle macro potrebbe richiedere di abilitarle nel vostro ambiente Excel e che l’esecuzione di codice VBA può influire sulle impostazioni di sicurezza del file. Prima di eseguire qualsiasi codice, assicuratevi sempre di salvare il vostro lavoro.
1. Tenete premuti contemporaneamente i tasti ALT + F11 per aprire la finestra di Microsoft Visual Basic for Applications. Se è la prima volta che utilizzate VBA, potreste dover abilitare la scheda Sviluppo nella vostra barra multifunzione di Excel.
2. Nell’editor VBA, fate clic su Inserisci > Modulo per aprire una nuova finestra di modulo. Copiate e incollate il codice VBA riportato di seguito nel nuovo modulo: questo script vi aiuterà a incrementare automaticamente il numero di stampa per ogni copia stampata dal foglio attivo.
Codice VBA: Incremento automatico del valore di una cella dopo ogni stampa:
Sub IncrementPrint()
'updateby Extendoffice
Dim xCount As Variant
Dim xScreen As Boolean
Dim I As Long
On Error Resume Next
LInput:
xCount = Application.InputBox("Please enter the number of copies you want to print:", "Kutools for Excel")
If TypeName(xCount) = "Boolean" Then Exit Sub
If (xCount = "") Or (Not IsNumeric(xCount)) Or (xCount < 1) Then
MsgBox "error entered, please enter again", vbInformation, "Kutools for Excel"
GoTo LInput
Else
xScreen = Application.ScreenUpdating
Application.ScreenUpdating = False
For I = 1 To xCount
ActiveSheet.Range("A1").Value = " Company-00" & I
ActiveSheet.PrintOut
Next
ActiveSheet.Range("A1").ClearContents
Application.ScreenUpdating = xScreen
End If
End Sub
Questo codice richiede il numero totale di copie da stampare, aggiorna automaticamente la cella A1 a ogni ciclo di stampa e procede con la stampa di ciascuna versione.
3. Dopo aver incollato il codice, assicuratevi che il vostro foglio sia pronto e che la cella attiva (in genere A1) contenga il testo base corretto (ad esempio «Company-001»). Premete il tasto F5 oppure fate clic su Esegui nell’editor VBA per avviare la macro. Apparirà una finestra di dialogo che chiederà quante copie desiderate stampare; inserite il numero desiderato (ad esempio, 100) e confermate l’inserimento. Fate riferimento all’immagine dell’interfaccia qui sotto:

Se inserite un valore non numerico o fate clic su Annulla, il processo verrà interrotto senza alcuna azione. Assicuratevi di digitare esclusivamente numeri e di ricontrollare con attenzione il valore iniziale nella cella A1 prima di procedere.
4. Fate clic sul pulsante OK. La macro stamperà ora automaticamente il foglio di lavoro per il numero di volte specificato, aggiornando la sequenza nella cella A1 a ogni passaggio, in modo che ogni pagina stampata risulti numerata progressivamente (ad esempio, Company-001, Company-002, Company-003… fino a Company-100, a seconda del valore inserito e della formattazione definita nella macro).
Note e suggerimenti aggiuntivi: Nel codice, la cella A1viene utilizzata per il numero seriale. Eventuali contenuti già presenti in A1 verranno sovrascritti dal primo nuovo numero di sequenza, quindi, se desiderate conservare tali informazioni, assicuratevi di fare un backup di questa cella prima di eseguire il codice. Il prefisso numerico predefinito («)Company-00») può essere modificato nel codice VBA per adattarlo al formato seriale desiderato: modificate sia il testo che la lunghezza del padding numerico in base alle vostre esigenze. Prestare attenzione quando si utilizza la macro in cartelle di lavoro condivise o protette, poiché l’esecuzione delle macro richiede le autorizzazioni appropriate. Se la vostra stampante è lenta, evitate di eseguire lo script con un numero molto elevato di copie per non sovraccaricare la coda di stampa.
Se riscontrate problemi come il mancato avvio del processo di stampa, numeri che non vengono incrementati correttamente o errori relativi ai riferimenti di cella, verificate innanzitutto che le macro siano abilitate e che il foglio di lavoro non sia protetto. Assicuratevi inoltre di aver impostato correttamente la cella di riferimento (A1 in questo esempio) prima dell’esecuzione e considerate di salvare la cartella di lavoro prima di avviare operazioni in serie, per prevenire eventuali perdite accidentali di dati. Qualora siano necessarie ulteriori personalizzazioni — ad esempio l’uso di una cella diversa, un formato numerico differente o un altro foglio — modificate di conseguenza i riferimenti alle celle e le righe di formattazione nel codice VBA.
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi