KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come stampare fogli specifici in base ai valori delle celle in Excel?

AutoreSun Data di modifica

Hai mai provato a stampare fogli specifici in base al valore di una cella? In questo articolo ti mostrerò alcuni esempi pratici per risolvere proprio questo problema. Se ti interessa, continua a leggere!

Stampa foglio in base a una cella con VBA

Stampa foglio in base alla cella adiacente con VBA


Stampa foglio in base a una cella con VBA

Supponiamo che tu abbia due fogli e desideri stampare Foglio1, Foglio2 o entrambi in base al valore della cella A1 nel Foglio1. Procedi come segue:

In questo caso, inserisci 1 per stampare il primo foglio, 2 per stampare il secondo foglio e 3 per stampare entrambi.

1. Inserisci 1, 2 o 3 nella cella A1 del primo foglio, quindi premi i tasti Alt + F11 per aprire la finestra di Microsoft Visual Basic for Applications.

2. Fai clic su Inserisci > Modulo, quindi incolla il codice seguente nello script del Modulo. Vedi screenshot:
Uno screenshot dell'inserimento di un modulo nella finestra VBA

VBA: Stampa foglio in base al valore della cella

Sub PrintStuff()
'UpdayebyExtendoffice20180811
    Dim xRgVal As Variant
    Dim xSheets As Sheets
    Set xSheets = ActiveWorkbook.Worksheets
    xRgVal = xSheets(1).Range("A1").Value
    If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
        Select Case xRgVal
            Case 1
                xSheets(1).PrintOut
            Case 2
                xSheets(2).PrintOut
            Case 3
                xSheets(1).PrintOut
                xSheets(2).PrintOut
            Case Else
                MsgBox "Enter1, 2 or 3 into A1 (1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
                Exit Sub
            End Select
    Else
        Exit Sub
    End If
End Sub

Uno screenshot del codice VBA inserito nella finestra del modulo

3. Premi il tasto F5 per stampare direttamente il/i foglio/i.


Stampa foglio in base alla cella adiacente con VBA

Se hai più fogli in una cartella di lavoro e desideri stamparne uno o più in base ai valori delle celle presenti nella stessa cartella, procedi come segue:

1. Crea un nuovo foglio denominato Foglio di controllo nella cartella di lavoro in uso ed elenca tutti i nomi dei fogli nella colonna A (includi o escludi il Foglio di controllo a seconda delle tue esigenze). Vedi screenshot:
Uno screenshot che mostra il 'Foglio di controllo' con i nomi dei fogli elencati nella colonna A in Excel

2. Digita «print» nella cella accanto al nome del foglio che desideri stampare. Guarda lo screenshot qui sotto.
Uno screenshot del 'Foglio di controllo' con i valori 'stampa' inseriti nelle celle adiacenti accanto ai nomi dei fogli

3. Premi i tasti Alt + F11 per aprire la finestra di Microsoft Visual Basic for Applications, quindi fai clic su Inserisci > Modulo. Vedi screenshot:
Uno screenshot dell'inserimento di un modulo nella finestra VBA

4. Incolla il codice seguente nel modulo e premi il tasto F5 per eseguire il codice.

VBA: Stampa in base alla cella adiacente

Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
    Dim i As Integer
    Dim xCSheetRow As Integer
    Dim xSName As String
    Dim xCSheet As Variant
    Dim xRgVal As String
    On Error Resume Next
    xSName = "Control Sheet"
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    Set xCSheet = ActiveWorkbook.Worksheets(xSName)
    xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
    For i = 2 To xCSheetRow
        xRgVal = xCSheet.Range("B" & i).Value
        If xRgVal = "Print" Or xRgVal = "print" Then
            If xCSheet.Range("A" & i).Value <> "" Then
                ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
            End If
        End If
    Next
    xCSheet.Delete
    ActiveWorkbook.Worksheets.Add
    ActiveSheet.Name = "Control Sheet"
    Range("A1").Select
    ActiveCell.FormulaR1C1 = "Sheet Name"
    Range("B1").Select
    ActiveCell.FormulaR1C1 = "Print?"
    For i = 1 To ActiveWorkbook.Worksheets.Count
        Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
    Next
    Cells.Columns.AutoFit
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
End Sub

Uno screenshot del codice VBA inserito nella finestra del modulo

Dopo l'esecuzione del codice, il foglio (o i fogli) verrà immediatamente stampato e, contemporaneamente, un nuovo Foglio di controllo sostituirà quello precedente.

Suggerimento: Se possiedi Kutools per Excel, grazie alla sua funzione Crea tabella di collegamento, puoi generare rapidamente un elenco di tutti i nomi dei fogli in un nuovo foglio, completo di collegamenti cliccabili.

Uno screenshot di un Foglio di controllo con collegamenti cliccabili ai nomi dei fogli dopo aver utilizzato Kutools

Kutools per Excel– Potenzia Excel con oltre 300 strumenti essenziali, rendendo il tuo lavoro più veloce e semplice, e sfrutta le funzionalità basate sull’IA per un’elaborazione dati più intelligente e una maggiore produttività.Scaricalo ora

Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

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.

ExcelWordOutlookTabsPowerPoint
  • 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