Note: The other languages of the website are Google-translated. Back to English
Увійти  \/ 
x
or
x
Реєстрація  \/ 
x

or

Як надрукувати певні сторінки чи аркуш на основі значення комірки в Excel?

Ви коли-небудь пробували надрукувати певну сторінку або аркуш на основі значення комірки в Excel? І як цього досягти? Методи в цій статті можуть допомогти вам детально вирішити її.

Роздрукуйте певну сторінку на основі значення комірки за допомогою коду VBA
Роздрукуйте певний аркуш на основі значення комірки за допомогою коду VBA


Роздрукуйте певну сторінку на основі значення комірки за допомогою коду VBA


Наприклад, ви хочете, щоб певна сторінка, наприклад сторінка 1 поточного аркуша, була надрукована автоматично при введенні сторінки номер 1 у комірку А1 на поточному аркуші. Для його досягнення можна зробити наступне.

1. Виберіть комірку, яка містить номер сторінки, на якій ви хочете надрукувати, а потім натисніть інший і F11 клавіші одночасно, щоб відкрити Microsoft Visual Basic для додатків вікно. Потім клацніть Insert > Модулі.

2. Тоді Microsoft Visual Basic для додатків спливає вікно, скопіюйте та вставте наступний код VBA в код вікна.

Код VBA: Друк сторінки на основі значення комірки

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. прес F5 клавіша для запуску коду. У спливаючому Kutools для Excel у діалоговому вікні натисніть да , щоб надрукувати певну сторінку, або натисніть кнопку Немає , щоб вийти з діалогового вікна, якщо ви не хочете друкувати. Дивіться знімок екрана:

Потім відкриється вікно попереднього перегляду певної сторінки поточного аркуша, клацніть на друк , щоб розпочати друк.


Роздрукуйте певну сторінку на основі значення комірки за допомогою коду VBA

Припустимо, ви хочете надрукувати активний аркуш, коли значення в комірці B2 цього аркуша дорівнює номеру 1001. Ви можете досягти цього за допомогою наступного коду VBA. Будь ласка, виконайте наступне.

1. Клацніть правою кнопкою миші Вкладка аркуша який потрібно надрукувати на основі значення комірки, а потім клацніть Переглянути код з меню, що клацне правою кнопкою миші.

2. Тоді Microsoft Visual Basic для додатків спливає вікно, скопіюйте та вставте наступний код VBA у вікно коду.

Код VBA: Друк робочого аркуша на основі значення комірки

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

примітки: Ви можете змінити клітинку та значення комірки в коді, як вам потрібно.

3. прес інший + Q закрити Microsoft Visual Basic для додатків вікна.

При введенні номера 1001 у комірку B2, a Kutools для Excel з'явиться діалогове вікно, клацніть на да , щоб розпочати друк. Або натисніть Немає , щоб вийти з діалогового вікна безпосередньо без друку. Дивіться знімок екрана:

Порада: Якщо ви хочете безпосередньо надрукувати сторінки, що не послідовні, такі як сторінки 1, 6 і 9 на поточному аркуші, або надрукувати лише всі парні або непарні сторінки, ви можете спробувати Друк вказаних сторінок утиліта pf Kutools для Excel як показано на знімку екрана. Ви можете піти на безкоштовно завантажте програмне забезпечення без обмежень протягом 30 днів.


Статті по темі:


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2019 та 365. Підтримує всі мови. Простота розгортання на вашому підприємстві чи в організації. Повна функція 30-денної безкоштовної пробної версії. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
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 · 5 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