690 Aufrufe
Gefragt in Tabellenkalkulation von addeguddi Experte (2.5k Punkte)
Hallo,
wer kann mich hierbei unterstützen?
Habe von einem Team - Mitglied dieses VBA erstellt bekommen, das wenn gewisse Punktzahl erreicht sind zB. 301 oder 501 ertönt die Ansage Game Over. Siehe unten. Für dieses Spiel alles super.
Da ich das Dart Spiel 301 / 501 mit Cricket kombiniert habe, soll die Ansage Game over
ertönen wenn die Anzahl der Würfe gleich 36 ist, steht in der Zelle wo vorher die Punktzahl stand. Wenn die 16 darin steht ich aber eine 60 werfe passiert nichts, da ich mich überworfen habe.  
Nun meien Anfrage:
Muss ich nur in diesem unten aufgeführtem Teil etwas verändern oder in dem ganzen VBA? 
'hier für die Ansage
'prüfen ob Anzahl der Würfe ohne Rest durch 3 Teilbar ist oder Checkout vorliegt
If Cells(lngSZeile, lngWSpalte).Value Mod 3 = 0 And Cells(1, lngSpalte).Value <> "Checkout" Then
  lngAnsage = Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 1) + Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 2) + Cells(lngWZeile, lngSpalte + Cells(lngSZeile, lngWSpalte).Value - 3)
  Start_Ansage (lngAnsage)
End If

'Checkout; 999 = Game over
If Cells(1, lngSpalte).Value = "Checkout" Then Start_Ansage (999)

End Sub
Es wäre sehr nett wenn mir da jemand helfen könnte.


Lieben Gruß
Adde

27 Antworten

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo M.O.

habe nochmals die Info mit den Würfen gelesen. Ich hab mich wahrscheinlich nicht richtig ausgedrückt. Was ich meine. Die Zahl 36 sagt aus, das ich alle Felder 3 mal oder die Zahlen 10 bis 25 je 3 mal getroffen habe, brauchte aber dafür 45 Würfe.Es soll nicht die maximale Punktzahl sein sondern das Ziel 36 oder 21 und diese Zahl ergibt sich durch die Addition in der Zelle DC15. nur wenn da 36 Bzw. 21 steht ist das Spiel beendet und der Sieger wird dadurch ermittelt.

Alles andere ist absolut spitze: Danke

Vielleicht liegt es daran das Game over nicht angesagt wird!

Gruß Adde

.
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Adde,

das schaue ich mir noch mal an.

Gruß

M.O.
+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Adde,

da war noch ein Fehler drin durch die Änderungen. Das hatte ich beim Testen übersehen, da ich ja keine Ansagen höre.

Ändere im Makro

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

die Zeile

'Checkout prüfen und ggf. Ansage starten
If Cells(15, lngSpalte).Value = Range("I2").Value Then Start_Ansage (999)


in

'Checkout prüfen und ggf. Ansage starten
If Cells(15, lngCSpalte).Value = Range("I2").Value Then Start_Ansage (999)

Dann sollte alles wie gewünscht funktionieren.

Gruß

M.O.

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo M.O.

Danke.

Aber das was du geschrieben hast ist das Gleiche sehe leider keinen Unterschied.

Cells 15 ist die, in der die summe addiert wird 36 und in DD 15 steht?

Gruß Adde
+1 Punkt
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Adde,

mal ein Beispiel für Spieler 1:

Sobald du mindestens 3x die selbe Zahl geworfen hast erscheint in Spalte DD eine 3 unabhänging davon, ob du jetzt 1 Wurf (Trippel) oder mehrere Würfe (z.B. Doppel und Trippel) gebraucht hast. Erst wenn in der Addition in Zelle DD15 die 36 erreicht ist, ertönt Game over. Die Anzahl der Würfe (bei Spieler 1 z.B. in DE15 ermittelt) spielt bei der Ansage Game over keine Rolle.

Bei meinen Test konnte ich ja keine Ansage überprüfen, aber ich habe das mit einer Messagebox getestet und dort hat es wie gewünscht geklappt.

Gruß

M.O.
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo M.O.

nochmals vielen Dank für deine Mühe.

Bis zum nächsten mal. Wenn ich wieder mal eine Frage haben sollte.

Gruß Adde
0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)
Hallo M.O.

darf ich dich nochmals um einen gefallen bitten?

Bezüglich der Liste..

Gruß Adde
0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)

Hallo Adde,

dann leg mal los wink.

Gruß

M.O.

0 Punkte
Beantwortet von addeguddi Experte (2.5k Punkte)

Hallo M.O.

Vielen Dank das ich noch mal Fragen darf

Das was du erstellt hast ist schon absolute SPITZE und ich möchte dir nicht auf die Nerven gehen mit meinem Dart.

Habe Beide Listen nochmals getestet und festgestellt.

Wenn man diese Zwei irgendwie kombinieren könnte wäre es toll. Habe hin und her kopiert da kommen aber laufend Fehlermeldungen.

Also folgendes in der Tabelle Dart+neu+erstellt funktioniert das mit Game Over aber nicht mit den Tripple und Doppel.

In der Tabelle Dartneuerstelltok klappt es mit den Tripple und Doppel aber ohne Game Over

Und in beide Tabellen werden keine Eingaben mehr zugelassen, wenn die Punktzahl 570 erreicht ist. Diese Punktzahl ergibt sich, wenn man so gut ist das man mit jedem Wurf die Tripple trifft Bzw. Doppel 25 und Single 25 trifft, ist Gleich 36 Punkte jeweils maximal mit 3 Würfe die Zahlen von 10 bis 25 trifft, sowie man einen Wurf mehr benötigt ist es vorbei mit der Ansage Game Over.

Beispiel: ich bin so gut, dass ich die Zahlenreihe von 10 bis 19 jedes Mal in die Tripple werfe = Gleich Anzahl 30 Punkte für die Würfe und die Addition der erzielten Punkte von 435 Rest zur 570 = 135. ich bin so gut und schaffe es in die Tripple 20 und Doppel 25 zu treffen = 110 Summe Würfe 33 Punkte 435 + 110 = 545 dann hört es auf und ich kann nicht mehr aus Checken. Da 25 Rest und die Summe von 545 um 20 überschritten wird.

Wenn ich die Zahl 570 ändere addiert er weiter aber die Ansage Game Over wird nicht mehr angesagt.

Man müsste hier die Zahl 570 auf unbegrenzt setzen oder das mit dem Check out ändern.

Habe beide Listen Hoch geladen.

Gruß Adde

Das sind die zwei Listen

https://filehorst.de/d/danclyjm

https://filehorst.de/d/dnFCzFCa

0 Punkte
Beantwortet von m-o Profi (22.7k Punkte)
Hallo Adde,

ich habe eben mal deine Datei Dart neu erstellt mit Game over neu getestet. Dort konnte ich ohne Probleme die letzten 25 Punkte auschecken. Und Game over kam auch (mit Messagebox getestet).

Bei Cricket ist das Spiel ja vorbei, wenn alle Zahlen mindestens 3mal getroffen wurden. Aber ich verstehe nicht, wie das mit der Kombination vor sich gehen soll. Wann ist der Check-Out erreicht? Wenn 570 Punkte erreicht sind? Wenn alle Zahlen 3mal getroffen wurden (dann hast du ja mindestens 570 Punkte erreicht)? Oder was zuerst erreicht ist?

Gruß

M.O.
...