При использовании рабочего листа нередко скрывают строки, содержащие данные, которые вы не хотите отображать в настоящее время. Если вы написали макрос, обрабатывающий данные на листе, вы, возможно, задавались вопросом, как пропустить и не обрабатывать строки, которые вы пометили как скрытые.

Для этого нужно проверить свойство Hidden для каждой строки.

Если свойство равно True, то строка скрыта; если False, то строка видна.

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

Sub NumberClients()

Dim c As Range     Dim j As Integer

If Selection.Columns.Count > 1 Then         MsgBox "Only select the cells you want numbered"

Exit Sub     End If

j = 0     For Each c In Selection         If Not c.Rows.Hidden Then             j = j + 1             c.Value = j         Else             c.Clear         End If     Next c End Sub

Чтобы использовать макрос, просто выберите ячейки, в которых будет производиться нумерация. Макрос проверяет, прежде всего, чтобы убедиться, что вы выбрали только ячейки в одном столбце. Затем он проходит по каждой ячейке в выбранном диапазоне. Если строка, содержащая ячейку, не скрыта, то счетчик (j) увеличивается и сохраняется в ячейке. Если строка, содержащая ячейку, скрыта, содержимое ячейки очищается. Ключом к этому макросу является структура If …​ End If, которая проверяет значение атрибута Hidden.

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

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

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

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

Этот совет (12552) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:

link: / excel-Skipping_Hidden_Rows_in_a_Macro [Пропуск скрытых строк в макросе].