2016-08-08 19 views
2

Ich habe die folgende einfache Excel-Tabelle:Begrenzung in Abzählen Schleife

 A   B    C 
1     10 
2    =B1+A2 
3    =SUMME(B1:B2) 
4 

in der Zelle A2 Werte Abzählen durch das folgende Makro eingefügt:

Sub test() 
Sheets("Sheet1").Range("A2").Value = Sheets("Sheet1").Range("A2").Value - 1 
Do Until Sheets("Sheet1").Range("B3") > 0 
Sheets("Sheet1").Range("A2").Value = Sheets("Sheet1").Range("A2").Value - 1 
Loop 
End Sub 

das alles so weit gut funktioniert. Jetzt möchte ich jedoch die Schleife im Makro begrenzen. Es sollte also nur Zahlen in Zelle A2 zählen, bis es die Nummer 0 erreicht. Es sollte nie unter 0 gehen.

Haben Sie eine Idee, wie ich ein solches "Limit" in meinen Code einfügen kann?

Antwort

3

Es sollte nie vor dem Schreiben den Wert unter 0.

gehen, zu überprüfen, ob es <0 ist und einfach verlassen die Do Schleife.

Ist das was du willst?

Do Until Sheets("Sheet1").Range("B3") > 0 
    If Sheets("Sheet1").Range("A2").Value - 1 < 0 Then Exit Do 
    Sheets("Sheet1").Range("A2").Value = Sheets("Sheet1").Range("A2").Value - 1 
Loop 
+0

Hallo Siddharth, ich habe versucht, Ihren Code, aber es verlässt die Schleife, obwohl der Wert in Zelle A2> 0 ist. – Michi

+0

wird es nicht. Können Sie sicherstellen, dass die Bedingung 'Sheets (" Sheet1 "). Range (" B3 ")> 0' nicht erfüllt ist? Schritt durch den Code, um es zu überprüfen;) –

+0

Ändern Sie einfach die folgende Zeile in Sid-Code: 'Wenn Sheets (" Sheet1 "). Bereich (" A2 "). Wert - 1 <= 0 Dann Beenden Do' Withe this:' If Blätter ("Blatt1"). Bereich ("A2"). Wert - 1 <0 Dann Ausgang Do' – Jeremy