Удаление строк, содержащих зачеркнутый текст (Microsoft Excel)
Тара часто получает книги, содержащие один рабочий лист, где некоторая информация в рабочем листе содержит текст, который «зачеркнут» (текст отформатирован с зачеркиванием). Строки, содержащие зачеркнутый текст, необходимо удалить, но Тара не знает, как это быстро сделать.
Если вам нужно выполнять эту задачу только время от времени, следующие шаги помогут вам, если легко увидеть, какие ячейки содержат зачеркнутое форматирование:
-
Щелкните слева от первой строки, которую вы хотите выделить — первой, содержащей зачеркнутый текст. Следует выделить всю строку.
-
Удерживая нажатой клавишу Ctrl, нажимайте слева от любых дополнительных строк, которые хотите удалить. (Вы создаете набор выбранных строк для удаления.)
-
Нажмите Ctrl + — (клавиша минус). Строки удаляются.
Если не так просто увидеть все строки, содержащие зачеркнутый текст, вы можете положиться на функцию «Найти», чтобы найти их за вас:
-
Нажмите Ctrl + F. Excel отображает вкладку «Найти» диалогового окна «Найти и заменить».
-
Нажмите кнопку «Параметры», чтобы развернуть то, что доступно в диалоговом окне.
-
Убедитесь, что поле «Найти» пусто, и поместите в него точку вставки.
-
Нажмите кнопку «Форматировать». Excel отображает диалоговое окно «Найти формат».
-
Убедитесь, что вкладка «Шрифт» отображается. (Вероятно, он будет отображаться по умолчанию.)
-
Установите флажок Зачеркнутый раз или два, пока не увидите, что он установлен. (Вам не нужно ничего менять в диалоговом окне.)
-
Нажмите OK, чтобы закрыть диалоговое окно «Найти формат».
-
Щелкните «Найти все». Диалоговое окно «Найти и заменить» развернется, чтобы показать, какие ячейки содержат зачеркнутое форматирование, и будет выбран первый результат (в диалоговом окне).
-
Нажмите Ctrl + A. В диалоговом окне будут выбраны все результаты.
-
Нажмите «Закрыть», чтобы закрыть диалоговое окно «Найти формат». Теперь должны быть выделены все ячейки, содержащие зачеркнутый текст. (Не щелкайте где-либо еще на листе, иначе вы случайно отмените выбор ячеек.)
-
Нажмите Ctrl + — (клавиша минус). Excel отображает диалоговое окно «Удалить».
-
Щелкните переключатель Вся строка.
-
Щелкните ОК. Строки удаляются.
У этого подхода есть недостаток — он не обнаруживает ячеек, содержащих смешанное форматирование. Другими словами, если только часть текста в ячейке использует атрибут зачеркивания, то эта ячейка не будет найдена на шаге 8.
Этот недостаток можно преодолеть с помощью макроса. Кроме того, макрос — хороший подход, если вам нужно выполнять эту задачу довольно часто. Вот тот, который поможет:
Sub DeleteSTRows() Dim c As Range Dim bCheck As Boolean Dim J As Integer Dim iRows As Integer iRows = Selection.Rows.Count If iRows > 2 Then For J = iRows To 1 Step -1 bCheck = False For Each c In Selection.Rows(J).Cells bCheck = IsNull(c.Font.Strikethrough) If Not bCheck Then bCheck = c.Font.Strikethrough If bCheck Then Exit For Next c If bCheck Then Selection.Rows(J).EntireRow.Delete Next J End If End Sub
Чтобы использовать макрос, просто выберите ячейки, на которые вы хотите повлиять, и запустите его. Макрос проходит через каждую строку выделения (от последней строки до первой), а затем проверяет каждую ячейку в этих строках. Если ячейка содержит зачеркнутый текст, то устанавливается флаг (bCheck) и вся строка удаляется. (Макрос не будет работать, если ваш выбор содержит только 1 или 2 строки — эти несколько строк достаточно легко проверить и настроить вручную.)
Обратите внимание, что в середине макроса используется функция IsNull. Это часть, которая определяет, содержит ли ячейка смешанное форматирование. Если только некоторые символы в ячейке используют зачеркивание, то свойство Strikethrough возвращает нулевое значение. Это проверяется IsNull и присваивается переменной bCheck. Если bCheck по-прежнему имеет значение False (это означает, что в ячейке нет смешанного использования зачеркивания), то проверяется вся ячейка, чтобы увидеть, имеет ли она необходимое форматирование.
Следует отметить, что если вы не хотите, чтобы макрос фактически удалял строки, а предпочитаете просто их очищать, вы можете заменить метод .Delete в макросе на метод .Clear.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (5270) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.