Nota: le altre lingue del sito web sono tradotte da Google. Torniamo all'inglese
Accedi  \/ 
x
or
x
Registrati  \/ 
x

or

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 e F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra. Quindi fare clic inserire > Modulo.

2. Quindi il file Microsoft Visual Basic, Applications Edition si apre la finestra, copia e incolla il seguente codice VBA nel file Codice 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

Osservazioni:: 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 utility 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

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile distribuzione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il 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 centinaia di clic del mouse ogni giorno!
fondo officetab
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Ryan · 1 years ago
    This was very helpful! Is there a way to print multiple pages? For example, if cell A1 = 5, print pages 1-5.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      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
      • To post as a guest, your comment is unpublished.
        Manny · 5 months ago
        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