Gå til hovedindhold

Hvordan udskrives bestemte sider eller regneark baseret på celleværdi i Excel?

Har du nogensinde prøvet at udskrive en bestemt side eller et regneark baseret på en celleværdi i Excel? Og hvordan opnår man det? Metoder i denne artikel kan hjælpe dig med at løse det i detaljer.

Udskriv en bestemt side baseret på celleværdi med VBA-kode
Udskriv bestemt regneark baseret på celleværdi med VBA-kode


Udskriv en bestemt side baseret på celleværdi med VBA-kode

For eksempel vil du have, at en bestemt side, såsom side 1 i det aktuelle regneark, automatisk udskrives, når du indtaster sidenummer 1 i celle A1 i det aktuelle regneark. Du kan gøre som følger for at opnå det.

1. Vælg cellen, der indeholder det sidetal, du vil udskrive på baggrund af, og tryk derefter på andre , F11 taster samtidigt for at åbne Microsoft Visual Basic til applikationer vindue. Klik derefter på indsatte > Moduler.

2. Derefter Microsoft Visual Basic til applikationer vindue dukker op, skal du kopiere og indsætte følgende VBA-kode i Kode vindue.

VBA-kode: Udskriv side baseret på celleværdi

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. Trykke F5 nøgle for at køre koden. I pop op Kutools til Excel dialogboksen, skal du klikke på knappen Ja for at udskrive den bestemte side, eller klik på Ingen for at afslutte dialogboksen, hvis du ikke vil udskrive. Se skærmbillede:

Derefter åbnes eksempelvinduet for den bestemte side i det aktuelle regneark. Klik på Print for at starte udskrivningen.


Udskriv en bestemt side baseret på celleværdi med VBA-kode

Antag, at du vil udskrive det aktive regneark, når værdien i celle B2 i dette ark er lig med nummer 1001. Du kan opnå det med følgende VBA-kode. Gør som følger.

1. Højreklik på Arkfane som du vil udskrive baseret på celleværdi, og klik derefter på Vis kode fra højreklikmenuen.

2. Derefter Microsoft Visual Basic til applikationer vindue dukker op, skal du kopiere og indsætte følgende VBA-kode i kodevinduet.

VBA-kode: Udskriv regneark baseret på celleværdi

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

Bemærk: Du kan ændre celle- og celleværdien i koden, som du har brug for.

3. Trykke andre + Q at lukke Microsoft Visual Basic til applikationer vindue.

Når du indtaster nummer 1001 i celle B2, a Kutools til Excel dialogboksen vises, skal du klikke på Ja for at starte udskrivningen. Eller klik på Ingen for at afslutte dialogboksen direkte uden udskrivning. Se skærmbillede:

Tip: Hvis du ønsker at udskrive sider, der ikke er fortløbende, f.eks. Side 1, 6 og 9 direkte i det aktuelle regneark eller kun udskrive alle lige eller ulige sider, kan du prøve Udskriv bestemte sider værktøj pf Kutools til Excel som vist nedenstående skærmbillede. Du kan gå til gratis download softwaren uden begrænsning i 30 dage.


Relaterede artikler:

Bedste kontorproduktivitetsværktøjer

Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøj (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøj (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøj (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøj (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

kte-fane 201905


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
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