Vai al contenuto principale

Come stampare determinate pagine o fogli di lavoro in base al valore della cella in Excel?

Hai mai provato a stampare una determinata pagina o foglio di lavoro in base a un valore di cella in Excel? E come ottenerlo? I metodi in questo articolo possono aiutarti a risolverlo nei dettagli.

Stampa una determinata pagina in base al valore della cella con il codice VBA
Stampa determinati fogli di lavoro in base al valore della cella con codice VBA


Stampa una determinata pagina in base al valore della cella con il codice VBA

Ad esempio, si desidera che una determinata pagina come la pagina 1 del foglio di lavoro corrente venga stampata automaticamente quando si immette il numero di pagina 1 nella cella A1 del foglio di lavoro corrente. Puoi fare come segue per ottenerlo.

1. Selezionare la cella che contiene il numero di pagina su cui si desidera stampare, quindi premere altro ed F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra. Quindi fare clic inserire > Moduli.

2. Quindi il file Microsoft Visual Basic, Applications Edition si apre la finestra, copia e incolla il seguente codice VBA nel file Code finestra.

Codice VBA: stampa la pagina in base al valore della cella

Option Explicit
Sub Print_Pages()
Dim xPage As Integer
Dim xYesorNo As Integer
With ActiveCell
    If Not IsEmpty(.Value) And IsNumeric(.Value) Then
        xPage = .Value
    Else: MsgBox "Please specify a cell and enter a page in cell"
        Exit Sub
    End If
End With
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
    ActiveSheet.PrintOut from:=xPage, To:=xPage, preview:=True
Else
    Exit Sub
End If
End Sub

3. Stampa F5 chiave per eseguire il codice. Nel spuntare Kutools for Excel finestra di dialogo, fare clic su per stampare una determinata pagina o fare clic sul pulsante Non per uscire dalla finestra di dialogo se non si desidera stampare. Vedi screenshot:

Quindi si apre la finestra di anteprima di una determinata pagina del foglio di lavoro corrente, fare clic su Stampa pulsante per avviare la stampa.


Stampa una determinata pagina in base al valore della cella con il codice VBA

Supponendo di voler stampare il foglio di lavoro attivo quando il valore nella cella B2 di questo foglio è uguale al numero 1001. Puoi ottenerlo con il seguente codice VBA. Si prega di fare quanto segue.

1. Fare clic con il pulsante destro del mouse su Scheda Foglio che si desidera stampare in base al valore della cella, quindi fare clic su Visualizza codice dal menu di scelta rapida.

2. Quindi il file Microsoft Visual Basic, Applications Edition si apre la finestra, copia e incolla il seguente codice VBA nella finestra del codice.

Codice VBA: stampa il foglio di lavoro in base al valore della cella

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xCell As Range, xYesorNo As Integer
Set xCell = ActiveSheet.Range("B2")
If Application.Intersect(Target, xCell) Is Nothing Then Exit Sub
    If xCell.Value = 1001 Then
        xYesorNo = MsgBox("Ready to print the specified worksheet? ", vbYesNo, "Kutools for Excel")
        If xYesorNo = vbYes Then
          ActiveSheet.PrintOut
        Else
           Exit Sub
        End If
End If
End Sub

Note:: Puoi modificare la cella e il valore della cella nel codice di cui hai bisogno.

3. Stampa altro + Q chiudere il Microsoft Visual Basic, Applications Edition finestra.

Quando si immette il numero 1001 nella cella B2, a Kutools for Excel si apre la finestra di dialogo, fare clic su pulsante per avviare la stampa. Oppure fai clic su Non per uscire direttamente dalla finestra di dialogo senza stampare. Vedi screenshot:

Mancia: Se desideri stampare direttamente pagine non consecutive come le pagine 1, 6 e 9 nel foglio di lavoro corrente, o stampare solo tutte le pagine pari o dispari, puoi provare il Stampa pagine specificate utilità pf Kutools for Excel come mostrato nell'immagine sottostante. Puoi andare a scarica gratuitamente il software senza limitazioni in 30 giorni.


Articoli correlati:

I migliori strumenti per la produttività in ufficio

🤖 Assistente AI di Kutools: Rivoluziona l'analisi dei dati basandosi su: Esecuzione intelligente   |  Genera codice  |  Crea formule personalizzate  |  Analizzare i dati e generare grafici  |  Richiama le funzioni di Kutools...
Funzioni popolari: Trova, evidenzia o identifica i duplicati   |  Elimina righe vuote   |  Combina colonne o celle senza perdere dati   |   Round senza formula ...
Super ricerca: VLookup a criteri multipli    VLookup a valori multipli  |   VLookup su più fogli   |   Ricerca fuzzy ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa   |  Elenco a discesa dipendente   |  Elenco a discesa a selezione multipla ....
Gestore di colonna: Aggiungi un numero specifico di colonne  |  Sposta colonne  |  Attiva/disattiva lo stato di visibilità delle colonne nascoste  |  Confronta intervalli e colonne ...
Funzionalità in primo piano: Messa a fuoco della griglia   |  Vista di progettazione   |   Grande barra delle formule    Gestore di cartelle di lavoro e fogli   |  Resource Library (Testo automatico)   |  Date picker   |  Combina fogli di lavoro   |  Crittografa/decrittografa le celle    Invia e-mail per elenco   |  Super filtro   |   Filtro speciale (filtro grassetto/corsivo/barrato...) ...
I 15 migliori set di strumenti12 Testo Strumenti (aggiungi testo, Rimuovi personaggi, ...)   |   50+ Grafico Tipi (Diagramma di Gantt, ...)   |   40+ Pratico Formule (Calcola l'età in base al compleanno, ...)   |   19 Inserimento Strumenti (Inserisci il codice QR, Inserisci immagine dal percorso, ...)   |   12 Conversione Strumenti (Numeri in parole, Conversione di valuta, ...)   |   7 Unisci e dividi Strumenti (Combina righe avanzate, Celle divise, ...)   |   ... e altro ancora

Potenzia le tue competenze di Excel con Kutools per Excel e sperimenta l'efficienza come mai prima d'ora. Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e risparmiare tempo.  Fai clic qui per ottenere la funzionalità di cui hai più bisogno...

Descrizione


Office Tab porta l'interfaccia a schede in Office e semplifica notevolmente il tuo lavoro

  • 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 della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This was very helpful! Is there a way to print multiple pages? For example, if cell A1 = 5, print pages 1-5.
This comment was minimized by the moderator on the site
Hi Ryan,
If you want to print consecutive pages such as 1-5 in a worksheet based on a cell value, please specify a cell such as A1 as Text formatting, type 1-5 into it, keep this cell selecting, and then run the below VBA code.

Sub Print_Pages()
Dim xPage As String
Dim xYesorNo As Integer
Dim xI As String
Dim xPArr() As String
Dim xIS, xIE, xF, xNum As Integer
xPage = ActiveCell.Value
xYesorNo = MsgBox("Ready to print page" & xPage & " ", vbYesNo, "Kutools for Excel")
If xYesorNo = vbYes Then
xPArr() = Split(xPage, "-")
If UBound(xPArr) = 0 Then
If IsEmpty(xPage) And IsNumeric(xPage) Then
MsgBox "Please specify a cell and enter a page in cell"
Exit Sub
End If
xNum = Int(xPage)
ActiveSheet.PrintOut from:=xNum, To:=xNum, preview:=True
ElseIf UBound(xPArr) = 1 Then
On Error GoTo Err01
xIS = Int(xPArr(0))
xIE = Int(xPArr(1))
If xIS < xIE Then
For xF = xIS To xIE
ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
Next
Else
For xF = xIE To xIS
ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
Next
End If
Else
MsgBox "Please enter the valid data", vbOKOnly, "Kutools for Excel"
Exit Sub
End If
Else
Exit Sub
End If
Exit Sub
Err01:
MsgBox "Please enter the correct page scope", vbOKOnly, "Kutools for Excel"
End Sub
This comment was minimized by the moderator on the site
Thank you. I have the same issue I want to print pages based on cell value. Lets say variable changes i.e page 1-5 and then some time 2-6. So I have a field which will calculate and will put that in text format as suggested.But for some reason it doesnt work for me. It doesnt prints any pages.Can you please advise
This comment was minimized by the moderator on the site
Did you ever figure out how to get this working?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations