Когда вы работаете с таблицами данных, содержащими информацию, полученную от другого человека, вы можете сократить объем данных в таблице, удалив строки, если выполняется определенное условие. Есть несколько способов подойти к такой задаче.
Первый способ – использовать функцию автофильтра Excel. Это особенно хорошо работает, если у вас есть довольно простые критерии для удаления строк. Когда вы включаете автофильтр, Excel помещает раскрывающиеся кнопки справа от каждой ячейки в строке заголовка таблицы данных. Используя эти раскрывающиеся кнопки, вы можете указать записи, которые вы хотите отображать. Вы должны выбрать значение фильтра, в результате которого будут отображаться только те строки, которые вы хотите удалить. Когда эти строки отображаются, вы можете выбрать их и использовать меню, чтобы избавиться от строк. Когда вы выключаете автофильтр, у вас остаются только те строки, которые вам нужны.
Другой метод включает использование макросов для удаления за вас. Этот подход хорошо работает, если вам нужно выполнить удаление большого количества данных или если вы делаете это довольно часто. Следующий макрос может удалять строки на основе значения ключа:
Sub DeleteRows () Dim strToDelete As String Dim rngSrc As Range Dim NumRows As Integer Dim ThisRow As Integer Dim ThatRow As Integer Dim ThisCol As Integer Dim J As Integer Dim DeletedRows As Integer strToDelete = InputBox («Значение для запуска удаления?», «Удалить строки») Установить rngSrc = ActiveSheet.Range (ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngRowsrc.Row = ThisRow + NumRows — 1 ThisCol = rngSrc.Column For J = ThatRow To ThisRow Шаг -1 Если Cells (J, ThisCol) = strToDelete Then Rows (J). Select Selection.Delete Shift: = xlUp DeletedRows = DeletedRows + 1 End If Далее J MsgBox «Число удаленных строк:» & DeletedRowsEnd Sub
Чтобы использовать макрос, выберите диапазон ключей, который охватывает строки, которые вы хотите проверить. Например, если проверяемый ключ находится в столбце G, и вы хотите проверить строки с 5 по 73, вы должны выбрать диапазон G5: G73. Когда вы запускаете макрос, он спрашивает, какое значение он должен проверить. Если какие-либо ячейки в диапазоне G5: G73 содержат указанное вами значение, соответствующая строка для этой ячейки будет удалена.
Очевидно, существуют другие способы удаления строк на основе значения. Хороший выбор различных методов можно найти на этой странице Дэйва Хоули в Ozgrid:
http://www.ozgrid.com/VBA/VBACode.htm
Источник: