Przejdź do głównej zawartości

Jak wydrukować określone strony lub arkusz roboczy na podstawie wartości komórki w programie Excel?

Czy kiedykolwiek próbowałeś wydrukować określoną stronę lub arkusz roboczy na podstawie wartości komórki w programie Excel? A jak to osiągnąć? Metody opisane w tym artykule mogą pomóc w szczegółowym rozwiązaniu tego problemu.

Wydrukuj określoną stronę na podstawie wartości komórki z kodem VBA
Wydrukuj określony arkusz roboczy na podstawie wartości komórki z kodem VBA


Wydrukuj określoną stronę na podstawie wartości komórki z kodem VBA

Na przykład chcesz, aby określona strona, taka jak strona 1 bieżącego arkusza, była drukowana automatycznie po wprowadzeniu numeru strony 1 do komórki A1 w bieżącym arkuszu. Aby to osiągnąć, możesz wykonać następujące czynności.

1. Wybierz komórkę zawierającą numer strony, na podstawie której chcesz drukować, a następnie naciśnij inny i F11 klawisze jednocześnie, aby otworzyć Microsoft Visual Basic for Applications okno. Następnie kliknij wstawka > Moduł.

2. Następnie Microsoft Visual Basic for Applications pojawi się okno, skopiuj i wklej następujący kod VBA do pliku Code okno.

Kod VBA: wydrukuj stronę na podstawie wartości komórki

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. naciśnij F5 klucz do uruchomienia kodu. W wyskakującym okienku Kutools dla programu Excel okno dialogowe, kliknij przycisk Tak , aby wydrukować określoną stronę, lub kliknij Nie , aby zamknąć okno dialogowe, jeśli nie chcesz drukować. Zobacz zrzut ekranu:

Następnie otworzy się okno podglądu określonej strony bieżącego arkusza roboczego, kliknij przycisk przycisk, aby rozpocząć drukowanie.


Wydrukuj określoną stronę na podstawie wartości komórki z kodem VBA

Przypuśćmy, że chcesz wydrukować aktywny arkusz roboczy, gdy wartość w komórce B2 tego arkusza jest równa liczbie 1001. Możesz to osiągnąć za pomocą następującego kodu VBA. Wykonaj następujące czynności.

1. Kliknij prawym przyciskiem myszy Karta Arkusz który chcesz wydrukować na podstawie wartości komórki, a następnie kliknij Wyświetl kod z menu po kliknięciu prawym przyciskiem myszy.

2. Następnie Microsoft Visual Basic for Applications pojawi się okno, skopiuj i wklej następujący kod VBA do okna kodu.

Kod VBA: wydrukuj arkusz roboczy na podstawie wartości komórki

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: Możesz zmienić komórkę i wartość komórki w kodzie według potrzeb.

3. naciśnij inny + Q zamknąć Microsoft Visual Basic for Applications okno.

Podczas wpisywania liczby 1001 do komórki B2, a Kutools dla programu Excel pojawi się okno dialogowe, kliknij Tak przycisk, aby rozpocząć drukowanie. Lub kliknij Nie przycisk, aby zamknąć okno dialogowe bezpośrednio bez drukowania. Zobacz zrzut ekranu:

Wskazówka: Jeśli chcesz bezpośrednio drukować strony, które nie występują po sobie, takie jak strony 1, 6 i 9 w bieżącym arkuszu, lub drukować tylko wszystkie strony parzyste lub nieparzyste, możesz wypróbować Drukuj określone strony narzędzie pf Kutools dla programu Excel jak pokazano na poniższym zrzucie ekranu. Możesz iść do pobierz bezpłatnie oprogramowanie bez ograniczeń w ciągu 30 dni.


Powiązane artykuły:

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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