Salt la conținutul principal
 

Cum să imprimați foi specifice pe baza valorilor celulelor în Excel?

Autor: Sun Ultima modificare: 2024-11-14

Ați încercat vreodată să tipăriți anumite foi pe baza valorii unei celule? În acest articol, voi oferi câteva exemple pentru a rezolva această problemă. Dacă sunteți interesat, vă rugăm să continuați să citiți.

Imprimați foaia pe baza unei celule cu VBA

Imprimați foaia pe baza celulei adiacente cu VBA


Imprimați foaia pe baza unei celule cu VBA

Presupunând că există două foi, doriți să imprimați Sheet1 sau Sheet2 sau ambele foi pe baza celulei A1 din Sheet1. Vă rugăm să faceți după cum urmează:

În acest caz, introduceți 1 indică pentru a imprima prima foaie, introduceți 2 pentru a imprima a doua foaie și 3 pentru a imprima ambele foi.

1. Introduceți 1, 2 sau 3 după cum trebuie să faceți A1 în prima foaie și apăsați Alt + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. clic Insera > Module, și lipiți codul de mai jos în Module scenariu. Vedeți captura de ecran:
O captură de ecran a inserării unui Modul în fereastra VBA

VBA: Tipărește foaia pe baza valorii celulei

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

O captură de ecran a codului VBA inserat în fereastra Modulului

3. presa F5 tasta pentru a imprima direct foaia (foile).


Imprimați foaia pe baza celulei adiacente cu VBA

Dacă aveți mai multe foi într-un registru de lucru și doriți să imprimați una sau mai multe foi pe baza valorilor celulei din acest registru de lucru, puteți face după cum urmează:

1. Creați o nouă foaie numită Foaie de control în registrul de lucru pe care îl utilizați și listați toate numele foii în coloana A (includeți sau excludeți foaia de control după cum aveți nevoie). Vedeți captura de ecran:
O captură de ecran care arată „Foaie de control” cu numele foilor enumerate în coloana A în Excel

2. Tastați „imprima”În celula alăturată de lângă numele foii dacă doriți să o imprimați. Vedeți captura de ecran afișată.
O captură de ecran a „Foaie de control” cu valorile „imprimate” introduse în celulele adiacente lângă numele foilor

3. presa Alt + F11 tastele pentru a activa Microsoft Visual Basic pentru aplicații fereastră și faceți clic pe Insera > Module. Vedeți captura de ecran :
O captură de ecran a inserării unui Modul în fereastra VBA

4. Lipiți codul de mai jos în modul și apăsați F5 tasta pentru a rula codul.

VBA: Imprimați pe baza celulei adiacente

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

O captură de ecran a codului VBA inserat în fereastra Modulului

După rularea codului, foaia (foile) va fi tipărită chiar acum și, în același timp, o foaie de control nouă o va înlocui pe cea veche.

Sfat: Dacă aveţi Kutools pentru Excel, Cu său Creați o listă de nume de foi utilitar, puteți crea rapid o listă cu numele tuturor foilor dintr-o foaie nouă cu un link pe care se poate face clic.

O captură de ecran a unei foi de control cu ​​linkuri pe care se poate face clic către numele foilor după utilizarea Kutools

Kutools pentru Excel - Supercharge Excel cu peste 300 de instrumente esențiale. Bucurați-vă de funcțiile AI gratuite permanent! Ia-L Acum

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!