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

For schleife länger laufen lassen

For schleife länger laufen lassen
06.05.2018 15:28:59
Nilo
Hallo ich bin neu hier,
ich habe folgendes Problem.
Ich habe einen VBA Code geschrieben, der aber nicht so funktioniert wie ich mir das ausgedacht habe.
Vielleicht kann mir jemand helfen.
Über eine Combobox (in Tabelle1) wird ein Name eingegeben und soll alle (in Tablle2 [Medis Montags] )
Zellen Bzw. Range mit den gleichen Namen löschen.
Die Anzahl mit den gleichen Namen kann sich von Datensatz zu Datensatz verändern, (maximal 6 gleiche Namen).
Leider löscht mein VBA Code nur die erste Überstimmung und hört mit der For Schleife dann auf.
Obwohl noch weiter Zellen den gleichen Namen haben.
Mit anderen Worten, soll die Schleife solange laufen bis der gesuchte Name
nicht mehr auftaucht.
Dim dd As Long
For dd = 2 To 150 'Medis Montags
If Trim(Worksheets("Medis Montags").cells(dd, 2)) = Trim(ComboBox1.Text) Then
Worksheets("Medis Montags").Range(dd & ":" & dd).Delete
Exit For
End If
Next dd
Was habe ich falsch gemacht?

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For schleife länger laufen lassen
06.05.2018 15:33:23
Nepumuk
Hallo Nilo,
du verlässt die Schleife mit: Exit For
Gruß
Nepumuk
AW: For schleife länger laufen lassen
06.05.2018 18:39:43
Nilo
Hallo Nepumuk,
Danke für dein Hinweis, wo müsste ich den das Exit For platzieren? Oder ganz weglassen?
AW: For schleife länger laufen lassen
06.05.2018 18:52:13
Daniel
HI
du willst ja die ganze Liste durchsuchen, also ganz weg lassen.
das Exit For bricht ja die Schleife vorzeitig ab und es werden nicht alle Zellen durchlaufen.
beachte auch den zweiten Hinweis:
die Schleife sollte rückwärts laufen, ansonsten wird von zwei zu löschenden Zeilen, die direkt hintereinander liegen, nur die erste gelöscht.
oder schau dir mal meinen Vorschlag an.
Gruß Daniel
Anzeige
AW: For schleife länger laufen lassen
06.05.2018 15:44:32
Gerd
Hallo Niko
For-Next-Schleifen zum Zellen löschen lässt man ausserdem besser rückwärts laufen;
For x = 50 To 25 Step -1
Gruß Gerd
AW: For schleife länger laufen lassen
06.05.2018 16:05:00
Daniel
HI
Zeilen löschen mit Bedingung macht man seit Excel 2007 am besten mit einer Hilfsspalte und Duplikate entfernen:
With Worksheets("Medis Montags").UsedRange
with .columns(.columns.count + 1)
.FormulaR1C1 = "=If(Trim(RC2)=""" &  Worksheetfunction.Trim(Combobox1.text) & """,0,Row())"
.Cells(1, 1).Value = 0
.EntireRow.RemoveDuplicates .column, xlno
.ClearContents
End with
End with
Gruß Daniel
Anzeige
AW: For schleife länger laufen lassen
06.05.2018 18:55:51
Nilo
Hi Daniel,
soeben habe ich deinen Vorschlag aus probiert, leider bekomme ich einen Fehler angezeigt und zwar in diesem Bereich (.EntireRow.RemoveDuplicates .Column, xlNo) in der With Anweisung.
Was müsste ich ändern oder ergänzen?
Gruß Nilo
AW: For schleife länger laufen lassen
06.05.2018 19:01:13
Daniel
Hi
weiß ich nicht. ich habe den Code getestet und er funktioniert.
lad mal die Datei hoch.
oder beschreibe mal genauer, welche Fehlermeldung du bekommst und in welcher Zeile genau der Fehler auftritt.
Gruß Daniel
AW: For schleife länger laufen lassen
06.05.2018 19:33:13
Gerd
Moin Nilo,
dass dieser Code nicht getestet ist, siehst du an der Kleinschreibung einiger Begriffe.
Probiere es mal ungetestet mit
EntireColumn statt EntireRow
Gruss Gerd
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige