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
|