Тереза ​​задается вопросом, есть ли способ отформатировать ячейку так, чтобы, если содержимое ячейки соответствует определенным критериям, автоматически распечатывалась конкретная таблица. Короткий ответ: нет, нет способа использовать форматирование для достижения этой цели. Однако вы можете использовать макрос обработчика событий для печати.

Например, один из обработчиков событий, поддерживаемых Excel, запускается каждый раз, когда что-то изменяется в книге. Вы можете создать обработчик событий, который проверяет, какая ячейка была изменена. Если это конкретная ячейка и если эта ячейка содержит определенное значение, то рабочий лист можно распечатать.

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address = "B2" Then         If Target.Value = 1001 Then             Worksheets(1).PrintOut         End If     End If End Sub

Этот макрос проверяет, какая ячейка была изменена. Если это была ячейка B2, и если ячейка содержит значение 1001, то рабочий лист будет автоматически распечатан.

Конечно, вы можете захотеть, чтобы содержимое конкретной ячейки контролировало то, что печатается, когда кто-то действительно выбирает печать. Например, если пользователь выбирает печать, вы можете проверить содержимое ячейки (например, E2) и на основе содержимого этой ячейки автоматически изменить то, что печатается. Следующий макрос использует этот подход:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Application.EnableEvents = False     Select Case Worksheets("Sheet1").Range("E1")

Case 1             Worksheets("Sheet1").PrintOut         Case 2             Worksheets("Sheet2").PrintOut         Case 3             Worksheets("Sheet3").PrintOut         Case 4             Worksheets("Sheet4").PrintOut         Case Else             ActiveSheet.PrintOut     End Select     Cancel = True     Application.EnableEvents = True End Sub

Макрос печатает Sheet1, Sheet2, Sheet3 или Sheet4 в зависимости от того, содержит ли ячейка E2 1, 2, 3 или 4.

_Примечание: _

Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.

link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера].

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (11578) применим к Microsoft Excel 2007, 2010, 2013 и 2016.

Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Printing_Based_on_Cell_Contents [Печать на основе содержимого ячейки].