Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro löscht nur Teil -> Excel Fehler?

Forumthread: Makro löscht nur Teil -> Excel Fehler?

Makro löscht nur Teil -> Excel Fehler?
06.08.2003 16:16:28
Joachim
Guten Tag,
ich habe ein Makro, dass mir Zeilen löschen soll, in denen ein bestimmter Inhalt ist. Hier erst mal das Makro:

Sub test()
Dim Bereich, zelle
Set Bereich = Worksheets("Source").Range("G:G")
For Each zelle In Bereich
If zelle.Value = "SERCON SERVICE-KONZEPTE FUER" Then
zelle.EntireRow.Delete Shift:=xlUp
End If
Next
End Sub

Lasse ich das Makro durchlaufen passiert auch der gewünschte Effekt, aber nicht mit jeder Zeile in der der Inhalt (hier: SERCON SERVICE-KONZEPTE FUER) steht, sonder nur bei der Hälfte aller Fälle (8 von 16).
Lasse ich dan nocheinmal das Makro "drüberlaufen" löscht er wieder ein paar, aber nicht alle (4 von den 8). Das kann ich nun unendlich oft machen und der gewünschte Effect würde irgendwann eintreffen, aber ich frage mich, warum er nicht gleich bei der ersten "Durchfahrt" alle Zeilen mit dem Inhalt löscht.
Hat jemand ne Ahnung? ich bin mit meinem Lateil total am Ende; vielen Dank schon mal im Vorraus und schönen Gruß, Joachim
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Klassicher Eigentor
06.08.2003 16:19:54
Andreas Walter
Beispiel
Du musst von hinten nach vorne schleifen
Warum?
Beispiel:
G4 und G5 sind leer
Routine checkt G4 findet leer und löscht
Als nächstes checkt er G5
Aber G5 ist NICHT leer, weil die leer G5 ist nach oben gerutscht und wurde G4.

AW: Klassicher Eigentor
06.08.2003 16:30:31
Joachim
Vielen Dank erstma,
klingt ja wirklich absolut logisch. Nur wie bringe ich dem Programm bei, von hinten nach vorne zu suchen?
gruß Joachim

Anzeige
AW: Makro löscht nur Teil -> Excel Fehler?
06.08.2003 16:23:44
Lotti
Hi,
nur kurz geguckt, bin auch kein Oberkönner, aber warum set vor Bereich und was macht das shift nach dem delete?
Versuch das Makro mal im Einzelschritt und überwach Zelle mal und schau warum er das überspringt?
Vieleicht kommste ja so weiter.
Gruß
Lotti

AW: Makro löscht nur Teil -> Excel Fehler?
06.08.2003 16:26:59
Mac4
Hallo Joachim,
wie schon gesagt, solte man beim Löschen von hinten anfangen. Mit diesem Code funktioniert es:

Sub test()
For i = Cells(Rows.Count, 7).End(xlUp).Row To 1 Step -1
If Cells(i, 7).Value = "SERCON SERVICE-KONZEPTE FUER" Then
Cells(i, 7).EntireRow.Delete Shift:=xlUp
End If
Next
End Sub

Marc

Anzeige
Vielen Dank euch allen!
06.08.2003 16:34:48
Joachim
Vielen, vielen Dank;
ich hab doch echt an Excel gezweifelt (naja, an mir auch nen bissl)!
Dankeschön und schönen Gruß, Joachim

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige