Пропуск скрытых строк в макросе (Microsoft Excel)
При использовании рабочего листа нередко скрывают строки, содержащие данные, которые вы не хотите отображать в настоящее время. Если вы написали макрос, обрабатывающий данные на листе, вы, возможно, задавались вопросом, как пропустить и не обрабатывать строки, которые вы пометили как скрытые.
Для этого нужно проверить свойство 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 [Пропуск скрытых строк в макросе]
.