Скрытие столбцов на основе значения ячейки (Microsoft Excel)
Отличные возможности условного форматирования Excel позволяют изменять форматирование ячеек в зависимости от содержимого ячейки. К сожалению, нет способа легко скрыть целые столбцы данных на основе значения определенной ячейки.
Однако вы можете добиться желаемого эффекта, используя макрос для анализа ячейки и настройки скрытого атрибута строки, которую вы хотите условно скрыть. Следующий простой макрос, например, проверяет содержимое ячейки B4 и, если ячейка содержит 0, скрывает столбец H. Если ячейка B4 не содержит 0, отображается столбец H.
Sub HideColumn1() If Range("B4").Value = 0 Then Columns("H").EntireColumn.Hidden = True Else Columns("H").EntireColumn.Hidden = False End If End Sub
Если вы хотите, чтобы скрытие и отображение столбца выполнялось в реальном времени, вы можете использовать следующую версию макроса. Просто убедитесь, что вы поместили эту версию в окно кода для рабочего листа, на котором вы хотите, чтобы она работала.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Range("B4").Value = 0 Then Columns("H").EntireColumn.Hidden = True Else Columns("H").EntireColumn.Hidden = False End If End Sub
Обратите внимание, что внутренности двух макросов одинаковы. Единственное отличие состоит в том, что вторая версия запускается событием в Excel — изменением текущей выбранной ячейки. Это означает, что каждый раз, когда вы переходите из одной ячейки в другую, значение в B4 проверяется, а столбец H либо скрыт, либо не скрыт.
Если возможно, что содержимое ячейки B4 может быть пустым, возможно, Excel интерпретирует эту пустоту как нулевое значение. В этом случае вы можете немного изменить макрос, чтобы он проверял наличие пустой ячейки.
Sub HideColumn2() Dim rCell As Range Set rCell = Range("B4") Columns("H").EntireColumn.Hidden = False If (Not IsEmpty(rCell)) And (IsNumeric(rCell) And (rCell.Value = 0) Then Columns("H").EntireColumn.Hidden = True End If End Sub
Эта версия макроса фактически проверяет три условия: что B4 не пусто, что он содержит числовое значение и что значение равно 0. Если все три из этих условий выполнены, то столбец H скрыт.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (3283) применим к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и более поздних версий) здесь:
link: / excelribbon-Hiding_Columns_Based_on_a_Cell_Value [Скрытие столбцов на основе значения ячейки]
.