Hur skriver jag ut vissa sidor eller kalkylblad baserat på cellvärde i Excel?
Har du någonsin behövt skriva ut specifika sidor eller kalkylblad i Excel baserat på värdet på en cell? Oavsett om det är att skriva ut ett visst sidnummer eller ett helt kalkylblad när ett villkor är uppfyllt, ger den här guiden steg-för-steg-metoder för att utföra det.
Skriv ut en viss sida baserat på cellvärde med VBA-kod
Skriv ut ett kalkylblad baserat på cellvärde med VBA-kod
Skriv ut en viss sida baserat på cellvärde med VBA-kod
Du vill till exempel att en viss sida, t.ex. sidan 1 i det aktuella kalkylbladet, ska skrivas ut automatiskt när du matar in sidnummer 1 i cell A1 i det aktuella kalkylbladet. Du kan göra på följande sätt för att uppnå det.
1. Välj cellen som innehåller sidnumret du vill skriva ut baserat på och tryck sedan på andra och F11 samtidigt för att öppna Microsoft Visual Basic för applikationer fönster. Klicka sedan Insert > Modulerna.
2. Sedan Microsoft Visual Basic för applikationer fönstret dyker upp, vänligen kopiera och klistra in följande VBA-kod i Koda fönster.
VBA-kod: Skriv ut sidan baserat på cellvärde
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. Tryck F5 för att köra koden. I pop-up Kutools för Excel dialogrutan, klicka på Ja för att skriva ut en viss sida eller klicka på Nej för att stänga dialogrutan om du inte vill skriva ut. Se skärmdump:
Sedan öppnas förhandsgranskningsfönstret för den aktuella sidan i det aktuella kalkylbladet, klicka på Skriva ut för att börja skriva ut.
Skriv ut en viss sida baserat på cellvärde med VBA-kod
Anta att du vill skriva ut det aktiva kalkylbladet när värdet i cell B2 i det här arket är lika med nummer 1001. Du kan uppnå det med följande VBA-kod. Gör så här.
1. Högerklicka på Tabell för ark som du vill skriva ut baserat på cellvärde och klicka sedan på Visa kod från högerklickmenyn.
2. Sedan Microsoft Visual Basic för applikationer fönstret dyker upp, vänligen kopiera och klistra in följande VBA-kod i kodfönstret.
VBA-kod: Skriv ut kalkylblad baserat på cellvärde
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
Anmärkningar: Du kan ändra cellen och cellvärdet i koden efter behov.
3. Tryck andra + Q att stänga Microsoft Visual Basic för applikationer fönster.
När du anger nummer 1001 i cell B2, a Kutools för Excel dialogrutan dyker upp, klicka på Ja för att börja skriva ut. Eller klicka på Nej för att stänga dialogrutan direkt utan att skriva ut. Se skärmdump:
Kutools för Excel - Superladda Excel med över 300 viktiga verktyg. Njut av permanent gratis AI-funktioner! Hämta den nu
Relaterade artiklar:
- Hur skapar jag ett dynamiskt utskriftsområde i Excel?
- Hur skriver man bara ut den sista sidan i ett kalkylblad i Excel?
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!