Microsoft Excel è un potente strumento utilizzato da molte aziende e privati per l’analisi e la gestione dei dati. Tuttavia, sapevate che potete massimizzare ulteriormente la vostra esperienza con Excel grazie a Visual Basic for Applications (VBA) quando si tratta di stampare i vostri dati? VBA è un linguaggio di programmazione che consente di automatizzare le attività di Excel, compresa la stampa. In questo articolo analizzeremo come utilizzare il VBA di Excel per la stampa e come può rendere le vostre attività di stampa più semplici ed efficienti.
Il primo passo per utilizzare Excel VBA per la stampa è aprire l’Editor Visual Basic (VBE). Per farlo, è sufficiente premere contemporaneamente i tasti “Alt” e “F11” oppure accedere alla scheda “Sviluppatore” e fare clic su “Visual Basic”. Una volta entrati nel VBE, dovrete inserire un nuovo modulo facendo clic su “Inserisci” e selezionando “Modulo”. Qui si scriverà il codice VBA per la stampa.
Per stampare un intervallo di celle in Excel utilizzando VBA, è necessario utilizzare il metodo PrintOut. Questo metodo consente di specificare l’intervallo di celle da stampare, il numero di copie, la stampante di destinazione e altre opzioni di stampa. La sintassi di questo metodo è la seguente:
In questo esempio, stiamo stampando l’intervallo di celle da A1 a B10, con 1 copia, pagine fascicolate e senza ignorare alcuna area di stampa. È possibile personalizzare queste opzioni in base alle proprie esigenze di stampa.
Un altro codice VBA utile per la stampa è il metodo PrintPreview. Questo metodo consente di visualizzare un’anteprima del documento stampato prima di inviarlo alla stampante. La sintassi di questo metodo è la seguente:
Questo codice apre la finestra di anteprima di stampa per il foglio attivo di Excel. Da qui è possibile rivedere il layout e la formattazione dei dati prima della stampa.
Se si desidera automatizzare ulteriormente le attività di stampa, è possibile utilizzare VBA per creare una macro. Una macro è un insieme di istruzioni che possono essere eseguite con un unico comando. Per creare una macro per la stampa, è necessario registrare i passaggi di stampa e salvarli come macro. Per farlo, è sufficiente accedere alla scheda “Sviluppatore”, fare clic su “Registra macro” e seguire le istruzioni. Una volta registrata la macro, è possibile assegnarla a un pulsante o a una scorciatoia da tastiera per accedervi facilmente.
In conclusione, l’uso di Excel VBA per la stampa può far risparmiare tempo e fatica quando si tratta di stampare i dati. Automatizzando le attività di stampa con VBA, è possibile personalizzare le opzioni di stampa, visualizzare l’anteprima dei documenti e persino creare macro per le attività di stampa ripetitive. Con un po’ di conoscenza di VBA, potete portare le vostre abilità in Excel a un livello superiore e diventare un gestore di dati più efficiente ed efficace.
In Visual Basic è possibile utilizzare il comando print per visualizzare l’output sullo schermo o per stamparlo su carta. La sintassi del comando print è la seguente:
Print [expressionlist]
Qui, “expressionlist” si riferisce a una o più espressioni che si desidera stampare. Queste espressioni possono essere variabili, costanti o qualsiasi altra espressione valida in Visual Basic.
Per utilizzare il comando print nel codice, è necessario seguire i seguenti passaggi:
1. Aprite un progetto nuovo o esistente in Visual Basic.
2. Creare un modulo o utilizzarne uno esistente.
3. Fare doppio clic sul modulo per aprire l’editor di codice.
4. Scrivere il comando print seguito dall’espressione o dalle espressioni che si desidera stampare. Ad esempio:
Print “Hello, world!”
Questo comando stampa il testo “Ciao, mondo!” sullo schermo.
5. Se si desidera stampare più espressioni, separarle con un punto e virgola (;). Ad esempio:
Print “Il valore di x è: “; x
In questo modo si stamperà il testo “Il valore di x è:” seguito dal valore della variabile x.
6. Se si desidera stampare un’espressione multipla, è necessario separarla con un punto e virgola (;).
6. Se si desidera stampare una riga vuota, utilizzare il solo punto e virgola. Ad esempio:
Print ;
In questo modo viene stampata una riga vuota sullo schermo.
7. Se si desidera stampare su una stampante anziché sullo schermo, utilizzare l’oggetto stampante. Ad esempio:
Printer.Print “Questo verrà stampato su carta”.
Questo invia il testo “Questo verrà stampato su carta.” alla stampante predefinita.
8. Infine, non dimenticate di salvare il codice ed eseguirlo per vedere l’output.
In generale, il comando print è uno strumento utile per visualizzare e stampare l’output in Visual Basic.
Per creare un pulsante di stampa in Excel VBA, procedere come segue:
1. Aprite la cartella di lavoro di Excel e passate alla scheda Sviluppatore.
2. Fare clic sul pulsante Inserisci e selezionare il controllo Pulsante.
3. Disegnare il pulsante sul foglio di lavoro.
4. Fare clic con il pulsante destro del mouse sul pulsante e selezionare l’opzione Visualizza codice.
5. Nell’editor di Visual Basic, inserite il seguente codice:
“`
Private Sub CommandButton1_Click()
ActiveSheet.PrintOut
End Sub
“`
6. Chiudere l’editor di Visual Basic e salvare il codice. Chiudere l’editor di Visual Basic e salvare la cartella di lavoro.
7. Testate il pulsante facendo clic su di esso e verificando che stampi il foglio di lavoro attivo.
Nota: è possibile personalizzare il codice per stampare un intervallo specifico o più fogli di lavoro utilizzando diverse opzioni di stampa. È inoltre possibile modificare l’aspetto e l’etichetta del pulsante accedendo alle sue proprietà. Il codice sopra riportato è un esempio di base che dimostra come creare un pulsante di stampa in Excel VBA.
Per stampare i fogli selezionati in Excel con una macro, potete seguire i passaggi indicati di seguito:
1. Aprite il file Excel che contiene i fogli che volete stampare.
2. Premere ALT + F11 per aprire l’editor di Visual Basic.
3. Nell’editor, inserire un nuovo modulo facendo clic su Inserisci > Modulo.
4. Copiare e incollare il seguente codice nel modulo:
Sub Print_Selected_Sheets()
Dim sht As Worksheet
Dim PrintRange As Range
‘Ottenere l’intervallo di stampa
For Each sht In ActiveWindow.SelectedSheets
If Not PrintRange Is Nothing Then
Set PrintRange = Union(PrintRange, sht.UsedRange)
Else
Set PrintRange = sht.UsedRange
End If
Next sht
‘Imposta le opzioni di stampa e stampa
With ActiveSheet.PageSetup
.PrintArea = PrintRange.Address
.FitToPagesWide = 1
.FitToPagesTall = False
End With
PrintRange.PrintOut
End Sub
5. Salvare il modulo e chiudere l’editor.
6. Tornati in Excel, selezionare i fogli da stampare tenendo premuto il tasto CTRL e facendo clic su ciascuna scheda del foglio.
7. Premere ALT + F8 per aprire la finestra di dialogo Macro e selezionare la macro Print_Selected_Sheets.
8. Fare clic su Esegui e i fogli selezionati verranno stampati.
Nota: questa macro stampa i fogli selezionati come un unico lavoro di stampa con ogni foglio su una pagina separata. È possibile modificare il codice per adattarlo alle proprie esigenze di stampa.