Удалить весь контент после указанного c слова - PullRequest
0 голосов
/ 07 февраля 2020

Я хочу использовать VBA для 1) Найти слово «Отчет:» в моем листе Excel (я знаю, что слово «Отчет:» появится на листе только один раз); 2) Удалите все содержимое (включая слово «Отчет») ниже этой ячейки

enter image description here

Таким образом, в идеале результат должен выглядеть следующим образом:

enter image description here

Объем данных изменится, поэтому слово «Отчет:» не будет находиться в строке 109 каждый раз.

Это код, который я сейчас использую,

Sub Trial()

Set myRange = ActiveDocument.Content
myRange.Find.Execute FindText:="Report:", _
    Forward:=True
If myRange.Find.Found = True Then
    myRange.SetRange (myRange.End + 1), ActiveDocument.Content.End
    myRange.Delete
End If
End Sub

Но он дает мне

ошибка времени выполнения '424'

1 Ответ

1 голос
/ 07 февраля 2020

Попробуйте:

Option Explicit
Sub ReportKiller()
    Dim Report As String, r As Range, rKill As Range
    Report = "Report"
    Set r = Cells.Find(Report, after:=Cells(1, 1))
    If Not r Is Nothing Then
        Set rKill = Range(r, r.End(xlDown))
        rKill.EntireRow.Delete
    End If
End Sub

Будет удалено все содержимое листа из ячейки Отчет вниз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...