Created
July 31, 2023 12:25
-
-
Save aleksandrkuzminv/b545202f0ec9bbb4c994d27d27d017c6 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sub Удалить_Списание_На_Расходы() | |
Dim rng As Range | |
Dim cell As Range | |
Dim searchText As String | |
searchText = "Списание на расходы" ' Текст для поиска и удаления | |
' Определяем используемую область на активном листе | |
Set rng = ActiveSheet.UsedRange | |
' Включаем отмену отображения изменений, чтобы ускорить выполнение макроса | |
Application.ScreenUpdating = False | |
' Перебираем каждую ячейку в области | |
For Each cell In rng.Cells | |
' Проверяем, содержит ли ячейка искомый текст | |
If InStr(1, cell.Value, searchText, vbTextCompare) > 0 Then | |
' Если ячейка содержит искомый текст, удаляем всю строку | |
cell.EntireRow.Delete | |
End If | |
Next cell | |
' Включаем обратно отображение изменений | |
Application.ScreenUpdating = True | |
End Sub |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Описание:
Sub Удалить_Списание_На_Расходы(): Объявление подпрограммы с именем "Удалить_Списание_На_Расходы".
Dim rng As Range: Объявление переменной "rng" типа "Range" для хранения диапазона ячеек.
Dim cell As Range: Объявление переменной "cell" типа "Range" для хранения каждой отдельной ячейки.
Dim searchText As String: Объявление переменной "searchText" типа "String" для хранения текста, который нужно удалить.
searchText = "Списание на расходы": Установка значения переменной "searchText" равным "Списание на расходы". Этот текст будет использоваться для поиска и удаления.
Set rng = ActiveSheet.UsedRange: Определение используемой области на активном листе и сохранение ее в переменную "rng".
Application.ScreenUpdating = False: Отключение обновления экрана приложения Excel для ускорения выполнения макроса.
Цикл For Each cell In rng.Cells перебирает каждую ячейку в диапазоне "rng".
If InStr(1, cell.Value, searchText, vbTextCompare) > 0 Then: Проверка, содержит ли ячейка искомый текст. Если условие выполняется (текст найден), то выполняются следующие инструкции.
cell.EntireRow.Delete: Удаление всей строки, содержащей найденный текст.
Next cell: Переход к следующей ячейке и повторение проверки и удаления до тех пор, пока не будут проверены все ячейки в диапазоне.
Application.ScreenUpdating = True: Включение обратно обновления экрана для отображения изменений.
Таким образом, после выполнения этого макроса, все строки, содержащие текст "Списание на расходы", будут удалены на активном листе в Excel.