Thema Datum  Von Nutzer Rating
Antwort
Rot For-Schleife unterbrechen | Wizzard
09.12.2015 14:02:21 oidromom
NotSolved
09.12.2015 14:40:50 oidromom
NotSolved
09.12.2015 14:50:21 Gast31890
Solved

Ansicht des Beitrags:
Von:
oidromom
Datum:
09.12.2015 14:02:21
Views:
1263
Rating: Antwort:
  Ja
Thema:
For-Schleife unterbrechen | Wizzard

Hi Leute,

 

ich habe folgendes Problem: Ich möchte für das Kartenspiel Wizzard eine automatische Tabelle erstellen. Dazu habe ich eine For-Schleife geschrieben, die die Punkte der Spieler korrekt ausfüllt. Nach jeder Runde werden abgegebene Tipps und Stiche eingetragen und mit einem Button wird ein VBA-Makro ausgeführt, dass die Punkte errechnet. Das Problem ist jetzt nur, dass er immer die gesamte Tabelle nach unten ausfüllt. Sprich nach Runde 1 haben auch alle Runden bis Runde 20 Werte. Ich verstehe jetzt nicht ganz, wie man diese For-Schleife unterbrechen kann. Die Anweisung hab ich eigentlich. Wenn die Zelle x,y leer ist, dann stoppe die For-Schleife bei Wert x-1. Ich finde nur die korrekte Syntax dafür nicht. Hier mein Skript:

 

Sub Wizzard()

For upCounter = 7 To 26



a = Cells(upCounter, 31)
If a = 0 Then
    Cells(upCounter, 2) = (Cells(upCounter - 1, 2)) + 20 + 10 * Cells(upCounter, 10)
End If

If a > 0 Then
    Cells(upCounter, 2) = (Cells(upCounter - 1, 2)) + (-10 * Cells(upCounter, 31))
End If

If a < 0 Then
    Cells(upCounter, 2) = (Cells(upCounter - 1, 2)) + (10 * Cells(upCounter, 31))
    
End If


b = Cells(upCounter, 32)
If b = 0 Then
    Cells(upCounter, 3) = (Cells(upCounter - 1, 3)) + 20 + 10 * Cells(upCounter, 12)
End If

If b > 0 Then
    Cells(upCounter, 3) = (Cells(upCounter - 1, 3)) + (-10 * Cells(upCounter, 32))
End If

If b < 0 Then
    Cells(upCounter, 3) = (Cells(upCounter - 1, 3)) + (10 * Cells(upCounter, 32))
        
End If

c = Cells(upCounter, 33)
If c = 0 Then
    Cells(upCounter, 4) = (Cells(upCounter - 1, 4)) + 20 + 10 * Cells(upCounter, 14)
End If

If c > 0 Then
    Cells(upCounter, 4) = (Cells(upCounter - 1, 4)) + (-10 * Cells(upCounter, 33))
End If

If c < 0 Then
    Cells(upCounter, 4) = (Cells(upCounter - 1, 4)) + (10 * Cells(upCounter, 33))

End If

Next upCounter
End Sub


 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot For-Schleife unterbrechen | Wizzard
09.12.2015 14:02:21 oidromom
NotSolved
09.12.2015 14:40:50 oidromom
NotSolved
09.12.2015 14:50:21 Gast31890
Solved