Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
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

Makro Search and Destroy

Makro Search and Destroy
23.10.2014 10:48:29
Deniz
Hallo,
ich habe hier ein Problem vorliegen und komme einfach nicht mehr weiter.
Was ich möchte :
Das Makro soll in S:S den Wert von AE1 suchen und überall wo er ihn findet soll die ganze Zeile gelöscht werden.
ich hoffe ihr könnt mir helfen, ich komme nich mehr weiter o.O

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

Betreff
Datum
Anwender
Anzeige
AW: Makro Search and Destroy, ohne Test. ...
23.10.2014 11:06:11
MCO
For each cl in range("S:S")
if cl.value = Range("Ae1") then rows(cl.row).delete
next cl
Es gibt allerdings einige sinnvolle Verbesserungen:
z.B. den Bereich auf den bisher genutzten zu begrenzen
... in Range("S1:S" & activesheet.usedrange.rows.count)
Gruß, MCO

AW: Makro Search and Destroy
23.10.2014 11:31:02
Deniz
Also erstmal danke für deine schnelle Hilfe, diese funktioniert eigentlich auch, aber sobald ich diesen Befehl ausführe "hängt" sich Excel auf und es dauert und dauert. Kann nicht am Rechner liegen da ich andere ähnliche Befehle habe die aber nach einem festen Wert suchen und löschen und die gehen sofort.
mfg

Anzeige
AW: Makro Search and Destroy
23.10.2014 12:01:57
MCO
Hallo!
Ich nehme an, du hast die Range nicht begrenzt, wie ich es dir geraten habe....
Weiteres Problem ist, dass die Zeilen VORWÄRTS durchgegangen werden, wenn also Zeile 9 gelöscht wird , ist Zeile 10 plötzlich Zeile 9,d.h. dass bei 2 aufeinanderfolgenden Zeilen nur die erste gelöscht wird. Darum hab ich eingebaut, dass der Durchlauf so lange erfolgt, wie noch Zeilen gelöscht wurden (=true)
Hier also der neue Code:
Sub test_sss()
Anfang:
nochmal = False
For Each cl In Range("S1:S" & ActiveSheet.UsedRange.Rows.Count)
If cl.Value = Range("Ae1") Then
Rows(cl.Row).Delete
nochmal = True
End If
Next cl
If nochmal = True Then GoTo Anfang
MsgBox "fertig"
End Sub
Gruß, MCO
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige