Registriert seit: 24.04.2018
Version(en): 2013
Hallo Zusammen,
ich frage mich ob es eine Möglichkeit gibt, dass die Do Until Schleife verlassen wird wenn eine bestimmte Reihe verlassen wird?
Code:
Do
' Do Something
Loop Until Active.Address = "$N$10:$BI$10"
Zur Zeit habe ich diesen Code, aber leider springt der Code dann weiter in Reihe 9. Ich möchte aber, dass die Do Until Schleife sobald sie die 10. Reihe erreicht aufhört.
Ich hoffe jemand kann mir helfen.
Danke
Registriert seit: 13.04.2014
Version(en): 365
Hi,
1. springt der Code eigentlich nicht in Reihe 9 (Was ist eigentlich für Dich eine Reihe?)
2. Ist der Schnipsel nur wenig hilfreich.
3. dürfte die Zuweisung der Adresse nicht funktionieren.
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 24.04.2018
Version(en): 2013
27.06.2018, 09:17
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2018, 09:18 von Mr.Invisible.)
(27.06.2018, 09:04)BoskoBiati schrieb: Hi,
1. springt der Code eigentlich nicht in Reihe 9 (Was ist eigentlich für Dich eine Reihe?)
2. Ist der Schnipsel nur wenig hilfreich.
3. dürfte die Zuweisung der Adresse nicht funktionieren.
1. Der Code fängt bei der letzten hinzugefügten Reihe an und endet erst wenn er bei Reihe "1" ist. Ich will aber das er in Reihe 10 bzw. in Range("N10:BI10") aufhört
2. Brauchst du dafür wirklich meine ganzen Code, der eigentlich nur angzeigt, dass er von hier nach dort geht und schaut ob ein bestimmter Wert in der Zeile steht?
3. Das habe ich schon mitbekommen, dass das nicht funktioniert, daher frage ich ja was ich ändern muss damit es funktioniert.
Gruß
Registriert seit: 13.04.2014
Version(en): 365
Hi,
Zitat:Brauchst du dafür wirklich meine ganzen Code,
ja!
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 24.04.2018
Version(en): 2013
Ich konnte die Lösung des Problemes in einem anderem Forum finden.
Code:
Do
' Do Something
Loop Until ActiveCell.Row = 10
Hier die Lösung falls jemand mal vor dem gleichem Problem steht.
Registriert seit: 12.10.2014
Version(en): 365 Insider (32 Bit)
27.06.2018, 09:50
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2018, 09:50 von RPP63.)
(27.06.2018, 09:22)Mr.Invisible schrieb: Ich konnte die Lösung des Problemes in einem anderem Forum finden.
Moin!
Der Link dahin würde mich mal interessieren! :21:
Eine Do-Loop macht nur dann Sinn, wenn die Ausstiegssituation (noch) unbekannt ist!
(hier würde eine Schleife For i = 1 To 10 erheblich mehr Sinn machen)
Eine Schleife über Zellen ist allerdings das langsamste, was man Excel-VBA antun kann!
Mal ein Zitat aus einem Tutorial:
Zitat:Mit Do-Schleifen kann man Programmanweisungen wiederholen, solange eine Bedingung erfüllt ist. Solche Schleifen eignen sich dann, wenn man nicht weiß, wie oft die Schleife durchlaufen werden soll.
https://www.vba-tutorial.de/ablaufsteuer...leifen.htmWas hast Du WIRKLICH vor?
Vielleicht lernst Du dann tatsächlich etwas, wenn ich Dir eine Alternative aufzeige!
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 24.04.2018
Version(en): 2013
Moin RPP63,
ich versuchs mal zu erläutern was ich vor habe.
Mein Code fügt am Ende der Tabelle eine neue Reihe ein. Diese Reihe besteht aus 6 Zellen, je nachdem an welchem Datum das Produkt geliefert werden muss, werden die Zellen an einem bestimmten Ort in der Tabelle eingefügt.
Danach soll der Code die ersten sechs Zeilen nach links und nach oben bis zur 10. Reihe kontrollieren ob eine bestimmte Farbe schon vorkommt.
Daher ist deine Variante mir For i = 1 To 10 nicht möglich, da sich die Tabelle ständig vergrößert.
Aber wie gesagt, ich hab jetzt eine Lösung gefunden die genau das macht was ich vorhabe.
Das Forum ist
https://stackoverflow.com/Grüße
Registriert seit: 13.04.2014
Version(en): 365
Hi,
die Schleife müsste auch von der letzten Zeile bis zur Zeile 10 laufen. Im Prinzip so:
Code:
loLetzte=cells(rows.count,"N").end(xlup).row
for i=loLetzte to 10 Step -1
Do something
next
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Registriert seit: 10.04.2014
Version(en): 2016 + 365
Hi,
die englischen Excel-Begriffe können nicht immer 1:1 übersetzt werden. Verwende die Standard-Begriffe des deutschen Excels und es kommt zu weniger Mißverständnissen und Nachfragen.
Cell => Zelle
Row => Zeile
Column => Spalte
(27.06.2018, 10:35)Mr.Invisible schrieb: Mein Code fügt am Ende der Tabelle eine neue Reihe ein. Diese Reihe besteht aus 6 Zellen, je nachdem an welchem Datum das Produkt geliefert werden muss, werden die Zellen an einem bestimmten Ort in der Tabelle eingefügt.
Danach soll der Code die ersten sechs Zeilen nach links und nach oben bis zur 10. Reihe kontrollieren ob eine bestimmte Farbe schon vorkommt.
Welche Zeilen sollen kontrolliert werden?
Nur die ersten 6 nach links und dann von der letzten nach oben bis zur 10.?