Jak tisknout konkrétní list na základě hodnot buněk v aplikaci Excel?
Zkoušeli jste někdy vytisknout některé konkrétní listy na základě hodnoty buňky? V tomto článku budu hovořit o několika příkladech tohoto problému, pokud vás tento problém zajímá, pokračujte prosím.
Tiskněte list založený na buňce pomocí VBA
Tiskněte list založený na sousední buňce pomocí VBA
Tiskněte list založený na buňce pomocí VBA
Předpokládejme, že existují dva listy, které chcete vytisknout List1 nebo List2 nebo oba listy na základě buňky A1 v listu1. Postupujte prosím níže:
V tomto případě zadejte 1 označuje tisk prvního listu, zadejte 2 pro tisk druhého listu a 3 pro tisk obou listů.
1. Na první list zadejte 1, 2 nebo 3 podle potřeby A1 a stiskněte Alt + F11 klíče k otevření Microsoft Visual Basic pro aplikace okno. Viz snímek obrazovky:
2. cvaknutí Vložit > Modula vložte níže uvedený kód do Modul skript. Viz screenshot:
VBA: Tisk listu založeného na hodnotě buňky
Sub PrintStuff()
'UpdayebyExtendoffice20180811
Dim xRgVal As Variant
Dim xSheets As Sheets
Set xSheets = ActiveWorkbook.Worksheets
xRgVal = xSheets(1).Range("A1").Value
If (IsNumeric(xRgVal)) And (Len(xRgVal) = 1) Then
Select Case xRgVal
Case 1
xSheets(1).PrintOut
Case 2
xSheets(2).PrintOut
Case 3
xSheets(1).PrintOut
xSheets(2).PrintOut
Case Else
MsgBox "Enter1,2 or 3 into A1(1 print Sheet1 2 print Sheet2 3 print Sheet1 and Sheet2 ", , "KuTools For Excel"
Exit Sub
End Select
Else
Exit Sub
End If
End Sub
3. lis F5 klíč pro přímý tisk listu (listů).
Tiskněte list založený na sousední buňce pomocí VBA
Pokud máte v sešitu více listů a chcete vytisknout jeden nebo několik listů na základě hodnot buněk z tohoto sešitu, můžete postupovat takto:
1. Vytvořte nový list s názvem Kontrolní list v sešitu, který používáte, a ve sloupci A uveďte název všech listů (podle potřeby zahrňte nebo vyloučte kontrolní list). Viz screenshot:
2. Typ "vytisknout”V sousední buňce vedle názvu listu, pokud jej chcete vytisknout. Zobrazit snímek obrazovky.
3. lis Alt + F11 klávesy pro povolení Microsoft Visual Basic pro aplikace okno a klikněte na Vložit > Modul. Viz screenshot :
4. Vložte níže uvedený kód do modulu a stiskněte F5 klíč ke spuštění kódu.
VBA: Tisk na základě sousední buňky
Sub CreateControlSheet()
'UpdatebyExtendoffice20170811
Dim i As Integer
Dim xCSheetRow As Integer
Dim xSName As String
Dim xCSheet As Variant
Dim xRgVal As String
On Error Resume Next
xSName = "Control Sheet"
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set xCSheet = ActiveWorkbook.Worksheets(xSName)
xCSheetRow = xCSheet.Range("B65536").End(xlUp).Row
For i = 2 To xCSheetRow
xRgVal = xCSheet.Range("B" & i).Value
If xRgVal = "Print" Or xRgVal = "print" Then
If xCSheet.Range("A" & i).Value <> "" Then
ActiveWorkbook.Worksheets(xCSheet.Range("A" & i).Value).PrintOut
End If
End If
Next
xCSheet.Delete
ActiveWorkbook.Worksheets.Add
ActiveSheet.Name = "Control Sheet"
Range("A1").Select
ActiveCell.FormulaR1C1 = "Sheet Name"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Print?"
For i = 1 To ActiveWorkbook.Worksheets.Count
Range("A" & i + 1).Value = ActiveWorkbook.Worksheets(i).Name
Next
Cells.Columns.AutoFit
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Po spuštění kódu se list (listy) vytisknou právě teď a zároveň nový kontrolní list nahradí starý.
Kutools pro Excel, s více než 300 užitečné funkce, které vám usnadní práci. |
Nejlepší nástroje pro produktivitu v kanceláři
Rozšiřte své dovednosti Excel pomocí Kutools pro Excel a zažijte efektivitu jako nikdy předtím. Kutools for Excel nabízí více než 300 pokročilých funkcí pro zvýšení produktivity a úsporu času. Kliknutím sem získáte funkci, kterou nejvíce potřebujete...
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 snižuje stovky kliknutí myší každý den!