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

Первый способ — использовать функцию автофильтра 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 [Условное удаление строк].