Hoe een specifiek blad afdrukken op basis van celwaarden in Excel?
Heb je ooit geprobeerd een aantal specifieke bladen af te drukken op basis van een celwaarde? In dit artikel zal ik enkele voorbeelden over dit probleem bespreken. Als u in dit probleem geïnteresseerd bent, ga dan verder.
Print blad op basis van een cel met VBA
Print blad op basis van aangrenzende cel met VBA
Print blad op basis van een cel met VBA
Stel dat er twee bladen zijn, dan wilt u Blad1 of Blad2 of beide bladen afdrukken op basis van Cel A1 in Blad1. Doe als volgt:
In dit geval geeft invoer 1 aan om het eerste vel af te drukken, voer 2 in om het tweede vel af te drukken en 3 om beide vellen af te drukken.
1. Voer 1, 2 of 3 in zoals u nodig hebt voor A1 op het eerste blad en druk op Alt + F11 sleutels om te openen Microsoft Visual Basic voor toepassingen venster. Zie screenshot:
2. klikken Invoegen > Moduleen plak onderstaande code in het Module script. Zie screenshot:
VBA: afdrukblad op basis van celwaarde
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. druk op F5 toets om het blad / de bladen direct af te drukken.
Print blad op basis van aangrenzende cel met VBA
Als u meerdere bladen in een werkmap heeft en u een of meer bladen wilt afdrukken op basis van celwaarden uit deze werkmap, kunt u het volgende doen:
1. Maak een nieuw blad met de naam Controleblad in de werkmap die u gebruikt, en vermeld alle bladnamen in kolom A (voeg het controleblad toe of sluit het naar behoefte uit). Zie screenshot:
2. Type "print”In de aangrenzende cel naast de bladnaam als u deze wilt afdrukken. Zie screenshot getoond.
3. druk op Alt + F11 toetsen om het Microsoft Visual Basic voor toepassingen venster en klik Invoegen > Module. Zie screenshot:
4. Plak onderstaande code in de module en druk op F5 sleutel om de code uit te voeren.
VBA: afdrukken op basis van aangrenzende cel
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
Na het uitvoeren van de code, worden de bladen nu afgedrukt en tegelijkertijd zal een nieuw controleblad het oude vervangen.
Beste Office-productiviteitstools
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie als nooit tevoren. Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en tijd te besparen. Klik hier om de functie te krijgen die u het meest nodig heeft...
Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker
- Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
- Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!