Перейти к основному содержанию

Как распечатать определенные страницы или рабочий лист на основе значения ячейки в Excel?

Вы когда-нибудь пытались распечатать определенную страницу или рабочий лист на основе значения ячейки в Excel? И как этого добиться? Методы, описанные в этой статье, могут помочь вам решить эту проблему в деталях.

Распечатать определенную страницу на основе значения ячейки с кодом VBA
Распечатать определенный рабочий лист на основе значения ячейки с кодом VBA


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

Например, вы хотите, чтобы определенная страница, такая как страница 1 текущего рабочего листа, печаталась автоматически при вводе номера страницы 1 в ячейку A1 текущего рабочего листа. Для этого вы можете сделать следующее.

1. Выберите ячейку, содержащую номер страницы, на основе которой вы хотите напечатать, затем нажмите другой и F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно. Затем нажмите Вставить > Модули.

2. Затем Microsoft Visual Basic для приложений появится всплывающее окно, скопируйте и вставьте следующий код VBA в Code окно.

Код 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 for Excel диалогового окна, нажмите Да кнопку, чтобы распечатать определенную страницу, или нажмите кнопку Нет , чтобы выйти из диалогового окна, если вы не хотите печатать. Смотрите скриншот:

После этого откроется окно предварительного просмотра определенной страницы текущего рабочего листа, нажмите Печать / PDF кнопку, чтобы начать печать.


Распечатать определенную страницу на основе значения ячейки с кодом 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 появляется Kutools for Excel появится диалоговое окно, нажмите Да кнопку, чтобы начать печать. Или щелкните Нет , чтобы выйти из диалогового окна напрямую без печати. Смотрите скриншот:

Наконечник: Если вы хотите напрямую распечатать непоследовательные страницы, такие как страницы 1, 6 и 9 текущего рабочего листа, или распечатать только все четные или нечетные страницы, вы можете попробовать Печать указанных страниц утилита pf Kutools for Excel как показано ниже. Ты можешь пойти в бесплатно скачать программу без ограничений в течение 30 дней.


Статьи по теме:

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (4)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This was very helpful! Is there a way to print multiple pages? For example, if cell A1 = 5, print pages 1-5.
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
Did you ever figure out how to get this working?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations