Note: The other languages of the website are Google-translated. Back to English
Autentificare  \/ 
x
or
x
Înregistrare  \/ 
x

or

Cum se imprimă anumite pagini sau foaie de lucru pe baza valorii celulei din Excel?

Ați încercat vreodată să imprimați anumite pagini sau foaie de lucru pe baza unei valori de celulă în Excel? Și cum să o realizăm? Metodele din acest articol vă pot ajuta să le rezolvați în detalii.

Imprimați anumite pagini pe baza valorii celulei cu cod VBA
Imprimați anumite foi de lucru pe baza valorii celulei cu cod VBA


Imprimați anumite pagini pe baza valorii celulei cu cod VBA


De exemplu, doriți ca o anumită pagină, cum ar fi pagina 1 a foii de lucru curente, să fie tipărită automat la introducerea paginii numărul 1 în celula A1 din foaia de lucru curentă. Puteți face următoarele pentru a o realiza.

1. Selectați celula care conține numărul paginii pe care doriți să imprimați, apoi apăsați Alt F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră. Apoi apasa Insera > Module.

2. Apoi Microsoft Visual Basic pentru aplicații fereastra apare, vă rugăm să copiați și să lipiți următorul cod VBA în Cod fereastră.

Cod VBA: Imprimați pagina pe baza valorii celulei

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. presa F5 tasta pentru a rula codul. În pop-up Kutools pentru Excel , faceți clic pe Da pentru a imprima o anumită pagină sau faceți clic pe Nu pentru a ieși din caseta de dialog dacă nu doriți să imprimați. Vedeți captura de ecran:

Apoi se deschide fereastra de previzualizare a anumitor pagini din foaia de lucru curentă, faceți clic pe pentru a începe tipărirea.


Imprimați anumite pagini pe baza valorii celulei cu cod VBA

Presupunând că doriți să imprimați foaia de lucru activă atunci când valoarea din celula B2 a acestei foi este egală cu numărul 1001. Puteți să o realizați cu următorul cod VBA. Vă rugăm să faceți următoarele.

1. Faceți clic dreapta pe Fila Foaie pe care doriți să o imprimați pe baza valorii celulei, apoi faceți clic pe Afișați codul din meniul cu clic dreapta.

2. Apoi Microsoft Visual Basic pentru aplicații fereastra apare, vă rugăm să copiați și să lipiți următorul cod VBA în fereastra Cod.

Cod VBA: Imprimați foaia de lucru pe baza valorii celulei

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

notițe: Puteți modifica celula și valoarea celulei din cod după cum aveți nevoie.

3. presa Alt + Q pentru a închide Microsoft Visual Basic pentru aplicații fereastră.

Când introduceți numărul 1001 în celula B2, a Kutools pentru Excel apare caseta de dialog, faceți clic pe Da pentru a începe tipărirea. Sau faceți clic pe Nu pentru a ieși direct din caseta de dialog fără a imprima. Vedeți captura de ecran:

Sfat: Dacă doriți să imprimați direct pagini non-consecutive, cum ar fi pagina 1, 6 și 9 în foaia de lucru curentă, sau să imprimați numai toate paginile pare sau impare, puteți încerca Imprimați paginile specificate utilitate pf Kutools pentru Excel după cum se arată în imaginea de mai jos. Poti sa te duci la descărcați gratuit software-ul fără limitări în 30 de zile.


Articole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2019 și 365. Suportă toate limbile. Implementare ușoară în întreprindere sau organizație. Funcții complete de încercare gratuită de 30 de zile. Garanție de restituire a banilor de 60 de zile.
fila kte 201905

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 în fiecare zi!
fundul officetab
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