Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

finde Wort lösche folgenden 5 Zeilen

finde Wort lösche folgenden 5 Zeilen
15.02.2022 16:43:43
Michael
Hallo,
ich möchte gern etwas automatisieren. Hierzu möchte ich im aktuellen Arbeitsblatt
in Spalte B nach dem Begriff Summe suchen.
Wird dieser Begriff gefunden soll diese und die folgenden 4 Zeilen gelöscht werden.
Mit einer habe ich etwas gefunden aber mit den weiteren nicht.
Kann mir geholfen werden?
VG von Michael

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: finde Wort lösche folgenden 5 Zeilen
15.02.2022 17:07:36
UweD
Hallo
versuch es so...

Sub Kill4()
Dim SP As Integer, Res As Integer, Such As String, Zeile As Long
SP = 2 'Spalte B
Res = 4 ' Zeilen darunter
Such = InputBox("Suchwort", "Löschen plus " & Res)
If WorksheetFunction.CountIf(Columns(SP), Such) > 0 And Such  "" Then
Zeile = WorksheetFunction.Match(Such, Columns(SP), 0)
Rows(Zeile).Resize(1 + Res).Delete
Else
MsgBox Such & "  nicht gefunden"
End If
End Sub
LG UweD
AW: finde Wort lösche folgenden 5 Zeilen
15.02.2022 17:09:51
onur
"Kann mir geholfen werden?" - Bei deinen VBA-Kenntnisen, anhandd dieser mageren Angaben und ohne irgend eine Beispielsdatei wohl kaum.
Anzeige
AW: finde Wort lösche folgenden 5 Zeilen
15.02.2022 17:54:16
GerdL
Moin Michael,
teste mal-

Sub Unit()
Const strSearch As String = "ddd" 'anpassen
Dim rngFind As Range, rngDelete As Range, strFirstaddress As String
With Tabelle1.Columns("B") 'ggf.anpassen
Set rngFind = .Find(what:=strSearch, LookIn:=xlValues, lookat:=xlPart, MatchCase:=False)
If Not rngFind Is Nothing Then
strFirstaddress = rngFind.Address
Do
If rngDelete Is Nothing Then
Set rngDelete = rngFind.Resize(5, 1)
Else
Set rngDelete = Union(rngDelete, rngFind.Resize(5, 1))
End If
Set rngFind = .FindNext(rngFind)
Loop Until rngFind.Address = strFirstaddress
End If
If Not rngDelete Is Nothing Then rngDelete.EntireRow.Delete
Set rngFind = Nothing: Set rngDelete = Nothing
End With
End Sub
Gruß Gerd
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige