Note: The other languages of the website are Google-translated. Back to English
Přihlásit se  \/ 
x
or
x
Registrovat  \/ 
x

or

Jak tisknout určité stránky nebo list na základě hodnoty buňky v aplikaci Excel?

Zkusili jste někdy vytisknout určitou stránku nebo list na základě hodnoty buňky v aplikaci Excel? A jak toho dosáhnout? Metody v tomto článku vám mohou pomoci vyřešit to podrobně.

Vytiskněte určitou stránku na základě hodnoty buňky pomocí kódu VBA
Vytiskněte určitý list na základě hodnoty buňky pomocí kódu VBA


Vytiskněte určitou stránku na základě hodnoty buňky pomocí kódu VBA


Například chcete, aby se určitá stránka, například stránka 1 aktuálního listu, automaticky vytiskla při zadávání stránky číslo 1 do buňky A1 v aktuálním listu. K dosažení tohoto cíle můžete udělat následující.

1. Vyberte buňku obsahující číslo stránky, na které chcete tisknout, a stiskněte Další a F11 současně otevřete Microsoft Visual Basic pro aplikace okno. Poté klepněte na tlačítko Vložit > Modul.

2. Potom Microsoft Visual Basic pro aplikace Otevře se okno, zkopírujte a vložte následující kód VBA do Kód okno.

Kód VBA: Tisk stránky na základě hodnoty buňky

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. lis F5 klíč ke spuštění kódu. Ve vyskakovacím okně Kutools pro Excel dialogové okno, klepněte na tlačítko Ano pro vytištění určité stránky nebo klikněte na Ne Pokud nechcete tisknout, zavřete dialogové okno. Viz screenshot:

Poté se otevře okno náhledu určité stránky aktuálního listu, klikněte na ikonu Tisk zahájíte tisk.


Vytiskněte určitou stránku na základě hodnoty buňky pomocí kódu VBA

Předpokládejme, že chcete vytisknout aktivní list, když se hodnota v buňce B2 tohoto listu rovná číslu 1001. Můžete toho dosáhnout pomocí následujícího kódu VBA. Postupujte prosím následovně.

1. Klikněte pravým tlačítkem na ikonu Tab který chcete vytisknout na základě hodnoty buňky, a poté klikněte Zobrazit kód z nabídky pravého tlačítka myši.

2. Potom Microsoft Visual Basic pro aplikace objeví se okno, zkopírujte a vložte následující kód VBA do okna Kód.

Kód VBA: Tisk listu založeného na hodnotě buňky

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

Poznámka: Můžete změnit buňku a hodnotu buňky v kódu, jak potřebujete.

3. lis Další + Q zavřít Microsoft Visual Basic pro aplikace okno.

Při zadávání čísla 1001 do buňky B2, a Kutools pro Excel objeví se dialogové okno, klikněte prosím na Ano zahájíte tisk. Nebo klikněte na ikonu Ne tlačítko pro opuštění dialogového okna přímo bez tisku. Viz screenshot:

Tip: Pokud chcete přímo tisknout nenasledující stránky, jako jsou stránky 1, 6 a 9 v aktuálním listu, nebo tisknout pouze sudé nebo liché stránky, můžete zkusit Tisk specifikovaných stránek nástroj pf Kutools pro Excel jak je ukázáno níže. Můžeš jít do zdarma si stáhněte software bez omezení do 30 dnů.


Související články:


Nejlepší kancelářské nástroje produktivity

Kutools pro Excel řeší většinu vašich problémů a zvyšuje vaši produktivitu o 80%

  • Opakované použití: Rychle vložte složité vzorce, grafy a cokoli, co jste dříve používali; Šifrovat buňky s heslem; Vytvořte seznam adresátů a posílat e-maily ...
  • Super Formula Bar (snadno upravit více řádků textu a vzorce); Rozložení pro čtení (snadno číst a upravovat velké množství buněk); Vložit do filtrovaného rozsahu...
  • Sloučit buňky / řádky / sloupce bez ztráty dat; Rozdělit obsah buněk; Zkombinujte duplicitní řádky / sloupce... Zabraňte duplicitním buňkám; Porovnat rozsahy...
  • Vyberte možnost Duplikovat nebo Jedinečný Řádky; Vyberte prázdné řádky (všechny buňky jsou prázdné); Super hledání a fuzzy hledání v mnoha sešitech; Náhodný výběr ...
  • Přesná kopie Více buněk beze změny odkazu na vzorec; Automaticky vytvářet reference do více listů; Vložte odrážky, Zaškrtávací políčka a další ...
  • Extrahujte text, Přidat text, Odebrat podle pozice, Odebrat mezeru; Vytváření a tisk mezisoučtů stránkování; Převod mezi obsahem buněk a komentáři...
  • Super filtr (uložit a použít schémata filtrů na jiné listy); Rozšířené řazení podle měsíce / týdne / dne, frekvence a dalších; Speciální filtr tučnou kurzívou ...
  • Kombinujte sešity a pracovní listy; Sloučit tabulky na základě klíčových sloupců; Rozdělte data do více listů; Dávkový převod xls, xlsx a PDF...
  • Více než 300 výkonných funkcí. Podporuje Office / Excel 2007-2019 a 365. Podporuje všechny jazyky. Snadné nasazení ve vašem podniku nebo organizaci. Kompletní funkce 30denní bezplatná zkušební verze. 60denní záruka vrácení peněz.
karta kte 201905

Office Tab přináší do Office rozhraní s kartami a usnadňuje vám práci

  • Povolte úpravy a čtení na kartách ve Wordu, Excelu, PowerPointu, Publisher, Access, Visio a Project.
  • Otevřete a vytvořte více dokumentů na nových kartách ve stejném okně, nikoli v nových oknech.
  • Zvyšuje vaši produktivitu o 50% a omezuje stovky kliknutí myší každý den!
officetab dno
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