Условное удаление строк (Microsoft Excel)
Когда вы работаете с таблицами данных, содержащими информацию, которую вы получили от другого человека, вы можете уменьшить количество данных в таблице, удалив строки, если выполняется определенное условие. Есть несколько способов подойти к такой задаче.
Первый способ — использовать функцию автофильтра 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("Value to Trigger Delete?", "Delete Rows") Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address) NumRows = rngSrc.Rows.Count ThisRow = rngSrc.Row ThatRow = ThisRow + NumRows - 1 ThisCol = rngSrc.Column For J = ThatRow To ThisRow Step -1 If Cells(J, ThisCol) = strToDelete Then Rows(J).Select Selection.Delete Shift:=xlUp DeletedRows = DeletedRows + 1 End If Next J MsgBox "Number of deleted rows: " & DeletedRows End Sub
Чтобы использовать макрос, выберите диапазон ключей, который охватывает строки, которые вы хотите проверить. Например, если проверяемый ключ находится в столбце G, и вы хотите проверить строки с 5 по 73, вы должны выбрать диапазон G5: G73. Когда вы запускаете макрос, он спрашивает, какое значение он должен проверить. Если какие-либо ячейки в диапазоне G5: G73 содержат указанное вами значение, соответствующая строка для этой ячейки будет удалена.
Очевидно, существуют другие способы удаления строк на основе значения. Чтобы получить хороший выбор различных методов, взгляните на эту страницу Дэйва Хоули в Ozgrid:
http://www.ozgrid.com/VBA/VBACode.htm
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (12256) применим к Microsoft Excel 2007, 2010, 2013 и 2016.
Вы можете найти версию этого совета для старого интерфейса меню Excel здесь:
link: / excel-Conditionally_Deleting_Rows [Условное удаление строк]
.