Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

bestimmte Zeilen per Makro löschen





Frage

Hallo zusammen, möchte aus einer Tabelle Zeilen mit einem bestimmten Text per Makro löschen. Bin mit dem Makro etwas überfordert. Kann mir jemand helfen? Vielen Dank schon mal...

Antwort 1 von oaie

hallo,
was für ein Text? Ist der Text immer drin und gleichbleibend, wird er erst eingegeben?
Hast du schon ein Makro?

Antwort 2 von nighty

hi conny

hier ein makro mit einer inputbox die dich auffordert einen suchbegriff einzugeben und bei treffer die zeilen loescht :)

gruss nighty

Sub Makro1()
On Error GoTo fehler
wert01$ = InputBox("SUCHEN UND DESSEN ZEILE LOESCHEN", "Bitte geben Sie Ihren Suchbegriff ein !")
Do
Cells.Find(What:=wert01$, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
ActiveCell.Select
Selection.Delete Shift:=xlUp
Loop
End
fehler:
If Err = 91 Then
End
Else
Resume Next
End If
End Sub



Antwort 3 von CONNY

Hallo nighty,

danke für deine Antwort.

Ich übernehme Daten aus einer Schnittstelle.

Zwischen den Zeilen mit den Datensätzen, die ich verwenden möchte befinden sich Zeilen die zu löschen sind. Eine Inputbox brauche ich nicht, da der Text in den zu löschenden Zeilen immer der gleiche ist.

Verzeih', dass meine Reaktion so spät kommt, war verhindert...

merci für die Bemühungen...



Antwort 4 von CONNY

Hallo oaie,

danke für deine Antwort.

Ich übernehme Daten aus einer Schnittstelle.

Zwischen den Zeilen mit den Datensätzen, die ich verwenden möchte befinden sich Zeilen die zu löschen sind. Der Text in den zu löschenden Zeilen ist immer der gleiche.
Ein Makro habe ich noch nicht.

Verzeih', dass meine Reaktion so spät kommt, war verhindert...

merci für die Bemühungen...



Antwort 5 von nighty

hi conny :)

dann ohne msgbox :)

gruss nighty

Sub Makro1()
On Error GoTo fehler

wert01$ = "DEIN TEXT"

Do
Cells.Find(What:=wert01$, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
ActiveCell.Select
Selection.Delete Shift:=xlUp
Loop
End
fehler:
If Err = 91 Then
End
Else
Resume Next
End If
End Sub

Antwort 6 von CONNY

hallo nighty ;)

das Marko funktioniert super.
Ganz lieben Dank!!

Löscht allerdings nur die Zelle, die den Text enthält.
Ich müsste allerdings die ganze Zeile gelöscht haben, die diesen Text enthält.

Könntest du mir noch einmal helfen???



Antwort 7 von nighty

hi conny :)

dann so vielleicht :)

gruss nighty

Sub Makro1()
On Error GoTo fehler
wert01$ = "DEIN TEXT"
Do
Cells.Find(What:=wert01$, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) _
.Activate
GoSub adresse
Rows(zeile1 & ":" & zeile1).Select
Selection.Delete Shift:=xlUp
Selection.Delete Shift:=xlUp
Loop
End
fehler:
If Err = 91 Then
Range("A" & zeile1).Select
End
Else
Resume Next
End If
End
adresse:
adress$ = ActiveWindow.RangeSelection.Address
adress1 = Len(adress$)
For mo = 1 To adress1
If Mid$(adress, mo, 1) = "$" Then
llp = llp + 1
Else
If llp = 1 Then
spalte$ = spalte$ + Mid$(adress, mo, 1)
End If
If llp = 2 Then
zeile$ = zeile$ + Mid$(adress, mo, 1)
zeile1 = Val(zeile$)
End If
End If
Next mo
Return
End Sub

Antwort 8 von CONNY

hallo nighty,

das war genau das was ich brauchte!!!

ich bin entzückt. ;)

vielen lieben dank, bis bald einmal conny