Найти в Дзене
Я it-шник

VBA удалить всю строку в Excel, если содержит искомый текст

Всем привет it-шники! Не всегда в Excel есть функции которые тебе нужны, например: Удаление строк на всем листе по искомому значению. С этой ситуацией можем справиться, создать макрос в Excel. Для этого Вам потребуется небольшие знания VBA (Visual Basic for Applications) или же приведенный код ниже скопировать и вставить в редактор кода.
К сожалению, теперь нельзя вставить код для просмотра в Дзене, но можно перейти на GitHub и там скопировать полностью код. Вот ссылка: Ниже представлю описание данного кода, пользуйтесь на здоровье. Описание: Таким образом, после выполнения этого макроса, все строки, содержащие текст "Списание на расходы", будут удалены на активном листе в Excel. Я it-шник

Всем привет it-шники! Не всегда в Excel есть функции которые тебе нужны, например: Удаление строк на всем листе по искомому значению. С этой ситуацией можем справиться, создать макрос в Excel.

Для этого Вам потребуется небольшие знания VBA (Visual Basic for Applications) или же приведенный код ниже скопировать и вставить в редактор кода.

VBA удалить всю строку по если содержит искомый текст
VBA удалить всю строку по если содержит искомый текст

К сожалению, теперь нельзя вставить код для просмотра в Дзене, но можно перейти на GitHub и там скопировать полностью код.

Вот ссылка:

Удалить_Списание_На_Расходы.bas

Ниже представлю описание данного кода, пользуйтесь на здоровье.

Описание:

  1. Sub Удалить_Списание_На_Расходы(): Объявление подпрограммы с именем "Удалить_Списание_На_Расходы".
  2. Dim rng As Range: Объявление переменной "rng" типа "Range" для хранения диапазона ячеек.
  3. Dim cell As Range: Объявление переменной "cell" типа "Range" для хранения каждой отдельной ячейки.
  4. Dim searchText As String: Объявление переменной "searchText" типа "String" для хранения текста, который нужно удалить.
  5. searchText = "Списание на расходы": Установка значения переменной "searchText" равным "Списание на расходы". Этот текст будет использоваться для поиска и удаления.
  6. Set rng = ActiveSheet.UsedRange: Определение используемой области на активном листе и сохранение ее в переменную "rng".
  7. Application.ScreenUpdating = False: Отключение обновления экрана приложения Excel для ускорения выполнения макроса.
  8. Цикл For Each cell In rng.Cells перебирает каждую ячейку в диапазоне "rng".
  9. If InStr(1, cell.Value, searchText, vbTextCompare) > 0 Then: Проверка, содержит ли ячейка искомый текст. Если условие выполняется (текст найден), то выполняются следующие инструкции.
  10. cell.EntireRow.Delete: Удаление всей строки, содержащей найденный текст.
  11. Next cell: Переход к следующей ячейке и повторение проверки и удаления до тех пор, пока не будут проверены все ячейки в диапазоне.
  12. Application.ScreenUpdating = True: Включение обратно обновления экрана для отображения изменений.

Таким образом, после выполнения этого макроса, все строки, содержащие текст "Списание на расходы", будут удалены на активном листе в Excel.

Я it-шник