Preskoči na glavno vsebino

Kako natisniti določene strani ali delovni list na podlagi vrednosti celice v Excelu?

Ste že kdaj poskusili tiskati določeno stran ali delovni list na podlagi vrednosti celice v Excelu? In kako to doseči? Metode v tem članku vam lahko pomagajo pri podrobnejšem reševanju.

Natisnite določeno stran na podlagi vrednosti celice s kodo VBA
Natisnite določen delovni list na podlagi vrednosti celice s kodo VBA


Natisnite določeno stran na podlagi vrednosti celice s kodo VBA

Na primer, želite, da se določena stran, na primer stran 1 trenutnega delovnega lista, samodejno natisne ob vnosu strani številka 1 v celico A1 na trenutnem delovnem listu. Za dosego lahko storite naslednje.

1. Izberite celico s številko strani, na kateri želite natisniti, nato pritisnite druga in F11 tipke hkrati, da odprete Microsoft Visual Basic za aplikacije okno. Nato kliknite Vstavi > Moduli.

2. Nato Microsoft Visual Basic za aplikacije Odpre se okno, kopirajte in prilepite naslednjo kodo VBA v Koda okno.

Koda VBA: Natisnite stran na podlagi vrednosti celice

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. Pritisnite F5 tipko za zagon kode. V pojavnem oknu Kutools za Excel pogovorno okno, kliknite na Da , če želite natisniti določeno stran, ali kliknite Ne za izhod iz pogovornega okna, če ne želite tiskati. Oglejte si posnetek zaslona:

Nato se odpre okno za predogled določene strani trenutnega delovnega lista, kliknite na Tiskanje za začetek tiskanja.


Natisnite določeno stran na podlagi vrednosti celice s kodo VBA

Recimo, da želite natisniti aktivni delovni list, ko je vrednost v celici B2 tega lista enaka številki 1001. To lahko dosežete z naslednjo kodo VBA. Naredite naslednje.

1. Z desno miškino tipko kliknite Zavihek lista ki ga želite natisniti na podlagi vrednosti celice, in nato kliknite Ogled kode v meniju z desnim klikom.

2. Nato Microsoft Visual Basic za aplikacije odpre se okno, kopirajte in prilepite naslednjo kodo VBA v okno Code.

Koda VBA: natisnite delovni list na podlagi vrednosti celice

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

Opombe: V kodi lahko spremenite celico in vrednost celice, kot jo potrebujete.

3. Pritisnite druga + Q zaprete Microsoft Visual Basic za aplikacije okno.

Pri vnosu številke 1001 v celico B2 se a Kutools za Excel Pojavi se pogovorno okno, kliknite Da za začetek tiskanja. Ali pa kliknite Ne gumb za neposreden izhod iz pogovornega okna brez tiskanja. Oglejte si posnetek zaslona:

Nasvet: Če želite na trenutnem delovnem listu neposredno natisniti strani, ki niso zaporedne, na primer strani 1, 6 in 9, ali pa tiskati samo vse sodo ali lihe strani, lahko poskusite Natisni določene strani uporabnost pf Kutools za Excel kot je prikazano na sliki spodaj. Lahko greš na brezplačen prenos programske opreme brez omejitev v 30 dneh.


Sorodni članki:

Najboljša pisarniška orodja za produktivnost

Priljubljene funkcije: Poiščite, označite ali identificirajte dvojnike   |  Izbriši prazne vrstice   |  Združite stolpce ali celice brez izgube podatkov   |   Krog brez formule ...
Super iskanje: Več kriterijev VLookup    Multiple Value VLookup  |   VLookup na več listih   |   Nejasno iskanje ....
Napredni spustni seznam: Hitro ustvarite spustni seznam   |  Odvisni spustni seznam   |  Večkrat izberite spustni seznam ....
Upravitelj stolpcev: Dodajte določeno število stolpcev  |  Premakni stolpce  |  Preklop stanja vidnosti skritih stolpcev  |  Primerjaj obsege in stolpce ...
Predstavljene funkcije: Mrežni fokus   |  Pogled oblikovanja   |   Velika vrstica formule    Upravitelj delovnih zvezkov in listov   |  Knjižnica virov (Samodejno besedilo)   |  Izbirnik datuma   |  Združite delovne liste   |  Šifriranje/dešifriranje celic    Pošljite e-pošto po seznamu   |  Super filter   |   Poseben filter (filter krepko/ležeče/prečrtano ...) ...
15 najboljših kompletov orodij12 Besedilo Orodja (dodajanje besedila, Odstrani znake,...)   |   50 + Graf Vrste (Gantt Chart,...)   |   40+ Praktično Formule (Izračunajte starost glede na rojstni dan,...)   |   19 vstavljanje Orodja (Vstavite kodo QR, Vstavi sliko s poti,...)   |   12 Pretvorba Orodja (Številke v besede, Pretvorba valut,...)   |   7 Spoji in razdeli Orodja (Napredne kombinirane vrstice, Razdeljene celice,...)   |   ... in več

Napolnite svoje Excelove spretnosti s Kutools za Excel in izkusite učinkovitost kot še nikoli prej. Kutools za Excel ponuja več kot 300 naprednih funkcij za povečanje produktivnosti in prihranek časa.  Kliknite tukaj, če želite pridobiti funkcijo, ki jo najbolj potrebujete...

zavihek kte 201905


Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
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