Note: The other languages of the website are Google-translated. Back to English
English English

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
Komentáře (4)
Zatím žádné hodnocení. Buďte první, kdo ohodnotí!
Tento komentář byl moderátorem webu minimalizován
To bylo velmi užitečné! Existuje způsob, jak vytisknout více stránek? Pokud je například buňka A1 = 5, vytiskněte stránky 1–5.
Tento komentář byl moderátorem webu minimalizován
Hi Ryan,
Pokud chcete tisknout po sobě jdoucí stránky, například 1-5 v listu na základě hodnoty buňky, zadejte buňku, například A1, jako Formátování textu, zadejte do ní 1-5, ponechte tuto buňku vybranou a poté spusťte níže uvedený VBA kód.

Sub Print_Pages()
Dim xPage As String
Dim xYesorNo As Integer
Dim xI As String
Dim xPARr() jako řetězec
Dim xIS, xIE, xF, xNum jako celé číslo
xPage = AktivníCell.Value
xYesorNo = MsgBox("Stránka připravena k tisku" & xPage & " ", vbYesNo, "Kutools pro Excel")
Pokud xYesorNo = vbYes Then
xPARr() = Split(xPage, "-")
Pokud UBound(xPARr) = 0 Pak
If IsEmpty(xPage) And IsNumeric(xPage) Then
MsgBox "Uveďte prosím buňku a zadejte stránku do buňky"
Konec Sub
End If
xNum = Int(xPage)
ActiveSheet.PrintOut from:=xNum, To:=xNum, preview:=True
ElseIf UBound(xPARr) = 1 Potom
Při chybě Přejít na Err01
xIS = Int(xPARr(0))
xIE = Int(xPARr(1))
Pokud xIS < xIE Pak
Pro xF = xIS Do xIE
ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
další
Jiný
Pro xF = xIE Do xIS
ActiveSheet.PrintOut from:=xF, To:=xF, preview:=True
další
End If
Jiný
MsgBox "Zadejte prosím platná data", vbOKOnly, "Kutools pro Excel"
Konec Sub
End If
Jiný
Konec Sub
End If
Konec Sub
Err01:
MsgBox "Zadejte prosím správný rozsah stránky", vbOKOnly, "Kutools pro Excel"
End Sub
Tento komentář byl moderátorem webu minimalizován
Děkuji. Mám stejný problém, který chci vytisknout stránky na základě hodnoty buňky. Řekněme změny proměnných, tj. strana 1-5 a pak nějaký čas 2-6. Takže mám pole, které to vypočítá a vloží to do textového formátu, jak je navrženo. Ale z nějakého důvodu mi to nefunguje. Nevytiskne žádné stránky. Můžete mi prosím poradit
Tento komentář byl moderátorem webu minimalizován
Přišli jste někdy na to, jak to zprovoznit?
Zatím zde nejsou žádné komentáře
Zanechat své připomínky
Odesílání jako host
×
Ohodnoťte tento příspěvek:
0   Postavy
Doporučená umístění