Как печатать в Excel только те листы, которые соответствуют определённым значениям в ячейках?
Пробовали ли вы когда-нибудь печатать определённые листы в зависимости от значения ячейки? В этой статье я приведу несколько примеров, которые помогут решить эту задачу. Если вам это интересно — продолжайте читать!
Печать листа на основе значения ячейки с помощью VBA
Печать листа на основе значения соседней ячейки с помощью VBA
Печать листа на основе значения ячейки с помощью VBA
Предположим, у вас есть два листа, и вы хотите напечатать Лист1, Лист2 или оба листа — в зависимости от значения ячейки A1 на Листе1. Выполните следующие действия:
В этом случае введите 1, чтобы напечатать первый лист, 2 — второй лист или 3 — оба листа.
1. Введите в ячейку A1 первого листа значение 1, 2 или 3 — в зависимости от необходимости — и нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений.
2. Нажмите Вставка > Модуль и вставьте приведённый ниже код в окно Модуля. См. скриншот:
VBA: печать листа на основе значения ячейки
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. Нажмите клавишу F5, чтобы сразу напечатать лист(ы).
Печать листа на основе значения соседней ячейки с помощью VBA
Если в книге содержится несколько листов и вы хотите напечатать один или несколько из них на основе значений ячеек в этой книге, выполните следующие действия:
1. Создайте новый лист с именем Управляющий лист в используемой книге и перечислите все имена листов в столбце A (включая или исключая управляющий лист — по вашему усмотрению). См. скриншот:
2. Введите «print» в ячейку рядом с именем листа, если хотите его напечатать. См. скриншот ниже.
3. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic для приложений, затем выберите Вставка > Модуль. См. скриншот:
4. Вставьте приведённый ниже код в модуль и нажмите клавишу F5, чтобы запустить его.
VBA: печать на основе значения соседней ячейки
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 
После выполнения кода листы будут немедленно напечатаны, а старый управляющий лист заменится новым.
Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек