Удаление строк, содержащих зачеркнутый текст

Тара часто получает книги, содержащие один рабочий лист, где некоторая информация на рабочем листе содержит текст, который «зачеркнут» (текст отформатирован с зачеркиванием). Строки, содержащие зачеркнутый текст, необходимо удалить, но Тара не знает, как это быстро сделать.

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

  1. Щелкните слева от первой строки, которую вы хотите выделить – первой один, содержащий зачеркнутый текст. Должна быть выделена вся строка.
  2. Удерживая нажатой клавишу Ctrl , щелкайте слева от любых дополнительных строк, которые вы хотите удалить. (Вы создаете набор выбранных строк для удаления.)
  3. Нажмите Ctrl + – (клавиша минус). Строки удаляются.

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

  1. Нажмите Ctrl + F . В Excel отображается вкладка «Найти» в диалоговом окне «Найти и заменить».
  2. Нажмите кнопку «Параметры», чтобы раскрыть все, что доступно в диалоговом окне.
  3. Убедитесь, что параметр «Найти» поле пусто и поместите в него точку вставки.
  4. Нажмите кнопку “Формат”. Excel отображает диалоговое окно «Найти формат».
  5. Убедитесь, что вкладка «Шрифт» видна. (Вероятно, он будет отображаться по умолчанию.)
  6. Установите флажок Зачеркнутый раз или два, пока не увидите, что он выбран. (Вам не нужно ничего менять в диалоговом окне.)
  7. Нажмите OK, чтобы закрыть диалоговое окно «Найти формат».
  8. Нажмите «Найти все». Диалоговое окно «Найти и заменить» развернется, чтобы показать, какие ячейки содержат зачеркнутое форматирование, и будет выбран первый результат (в диалоговом окне).
  9. Нажмите Ctrl + A . В результате будут выделены все результаты в диалоговом окне.
  10. Щелкните “Закрыть”, чтобы закрыть диалоговое окно “Найти формат”. Теперь должны быть выделены все ячейки, содержащие зачеркнутый текст. (Не нажимайте где-либо еще на листе, иначе вы случайно отмените выбор ячеек.)
  11. Нажмите Ctrl + – (клавиша минус). Excel отобразит диалоговое окно «Удалить».
  12. Щелкните переключатель “Вся строка”.
  13. Нажмите кнопку “ОК”. Строки удаляются.

У этого подхода есть недостаток – он не обнаруживает ячеек, содержащих смешанное форматирование. Другими словами, если только часть текста в ячейке использует атрибут зачеркивания, эта ячейка не будет найдена на шаге 8.

Этот недостаток можно преодолеть с помощью макроса. Кроме того, макрос – хороший подход, если вам нужно выполнять эту задачу довольно часто. Вот тот, который поможет:

Sub DeleteSTRows () Dim c As Range Dim bCheck As Boolean Dim J As Integer Dim iRows As Integer iRows = Selection.Rows. Подсчитать, если iRows> 2, тогда для J = iRows до 1 Шаг -1 bCheck = False для каждого c в Selection.Rows (J) .Cells bCheck = IsNull (c.Font.Strikethrough) Если не bCheck Then bCheck = c.Font. Зачеркнутый, если bCheck Then Exit For Next c If bCheck Then Selection.Rows (J) .EntireRow.Delete Next J End IfEnd Sub

Чтобы использовать макрос, просто выберите ячейки, на которые вы хотите повлиять, и затем запустите его. Макрос проходит через каждую строку выделения (от последней строки до первой), а затем проверяет каждую ячейку в этих строках. Если ячейка содержит зачеркнутый текст, то устанавливается флаг (bCheck) и вся строка удаляется. (Макрос не будет работать, если ваш выбор содержит только 1 или 2 строки – эти несколько строк достаточно легко проверить и настроить вручную.)

Обратите внимание на то, что в середине макроса IsNull функция используется. Это часть, которая определяет, содержит ли ячейка смешанное форматирование. Если только некоторые символы в ячейке используют зачеркивание, то свойство Strikethrough возвращает нулевое значение. Это проверяется IsNull и присваивается переменной bCheck. Если bCheck по-прежнему имеет значение False (это означает, что в ячейке нет смешанного использования зачеркивания), то проверяется вся ячейка, чтобы увидеть, имеет ли она необходимое форматирование.

Следует отметить что, если вы не хотите, чтобы макрос фактически удалял строки, но предпочитаете их просто очищать, вы можете заменить метод .Delete в макросе на метод .Clear.

Источник: frestage.ru

Бытовой вопрос