Note: The other languages of the website are Google-translated. Back to English
Zaloguj Się  \/ 
x
or
x
Zarejestruj się  \/ 
x

or

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 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 Kod 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

Uwagi: 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 bezpłatne pobieranie oprogramowania bez ograniczeń w ciągu 30 dni.


Powiązane artykuły:


Najlepsze narzędzia biurowe

Kutools dla programu Excel rozwiązuje większość problemów i zwiększa produktywność o 80%

  • Ponowne użycie: Szybko włóż złożone wzory, wykresy i wszystko, czego używałeś wcześniej; Szyfruj komórki z hasłem; Utwórz listę mailingową i wysyłaj e-maile ...
  • Pasek Super Formula (łatwo edytować wiele wierszy tekstu i formuły); Układ do czytania (łatwe odczytywanie i edytowanie dużej liczby komórek); Wklej do filtrowanego zakresu...
  • Scal komórki / wiersze / kolumny bez utraty danych; Podziel zawartość komórek; Połącz zduplikowane wiersze / kolumny... Zapobiegaj zduplikowanym komórkom; Porównaj zakresy...
  • Wybierz Duplikat lub Unikalny Wydziwianie; Wybierz puste wiersze (wszystkie komórki są puste); Super Find i Fuzzy Find w wielu zeszytach ćwiczeń; Losowy wybór ...
  • Dokładna kopia Wiele komórek bez zmiany odwołania do formuły; Automatyczne tworzenie odniesień do wielu arkuszy; Wstaw punktory, Pola wyboru i nie tylko ...
  • Wyodrębnij tekst, Dodaj tekst, Usuń według pozycji, Usuń przestrzeń; Tworzenie i drukowanie podsumowań stronicowania; Konwertuj zawartość komórek i komentarze...
  • Super filtr (zapisz i zastosuj schematy filtrów do innych arkuszy); Zaawansowane sortowanie według miesiąca / tygodnia / dnia, częstotliwości i innych; Specjalny filtr pogrubieniem, kursywą ...
  • Połącz skoroszyty i arkusze robocze; Scal tabele na podstawie kluczowych kolumn; Podziel dane na wiele arkuszy; Konwersja wsadowa xls, xlsx i PDF...
  • Ponad 300 zaawansowanych funkcji. Obsługuje Office / Excel 2007-2019 i 365. Obsługuje wszystkie języki. Łatwe wdrażanie w przedsiębiorstwie lub organizacji. Pełne funkcje 30-dniowy bezpłatny okres próbny. 60-dniowa gwarancja zwrotu pieniędzy.
kte tab 201905

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ęć myszą każdego dnia!
officetab dół
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 · 6 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