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 m-o Profi (22.7k Punkte)
Hallo Adde,

lade doch mal eine Beispieldatei hoch.

Gruß

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

Vielen lieben Dank, das du dich gemeldet hast.

Wünsche mir von ganzem Herzen, dass du mir helfen kannst.

Es ist folgendes was ich gerne hätte und es machbar wäre:

Wenn die Zellen DD15; DI15; DN15 usw. die Anzahl 36 erreicht hat soll Game over ertönen

In J2 wird die Summe der Punkte eingegeben und wenn diese erreicht sind wird es angesagt. Game over.

Die Zahl 36 sagt aus, dass alle Felder 3 mal getroffen wurden, was das Ziel zum Sieg bedeutet.

Nun wenn ich die Zahl 36 eingebe hört es auf die Punkte in die dazugehörende Zelle zu setzen.

Beispiel:

Wurf 1 bis 3 werfe ich jeweils die 11 = 33 dies werden in Zelle DG3 berechnet (36 noch nicht erreicht) bis dahin alles OK. Im 4 Wurf erziele ich die 12 hört es auf die Punkte in die jeweilige Zelle einzufügen, da die Zahl 33 plus 12 grösser als 36 ist.

Kann man das so machen das man eine Zusatzzelle erstellt und den Befehl z.B. in I2 die 36 einträgt und wenn dann die Zahl 36 in den oben genannten Zellen erreicht hat, die Ansage ertönt und ungeachtet was in Zelle j2 steht.

Im VBA steht für Game over J2 dies kann man dann ändern auf I2.

Noch ein Problem:

Wenn ich Doppel 18  = 36 anklicke, addiert es das in Zelle der Zahlenreihe für 12, sollte aber in der

Zahlenreihe für 18 eingetragen werden das Gleiche passiert mit der 20, hier die 20 in die

Zahlenreihe für 10 eingetragen sollte aber in die Zahlenreihe für 20 eingetragen werden. Kann man das irgendwie anordnen?

Das gleich ist auch bei der Zahl 30 Dopple 15 Trippel 10

Da ich hier für keinen Rat hatte habe anstatt 36 = 37 und 20 = 21 eingetragen. Dann wurde es in der richtigen Zelle berechnet.

https://filehorst.de/d/duqBpEtI

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

wenn ich das richtig sehe geht es darum, dass die Werte 10 bis 25 mindestens 3-mal getroffen werden (unter Berücksichtigung der Doppel und Trippel). Wenn also in den Zellen DD, DI usw. die Zahl 36 erreicht wird, dann soll die Ansage Game over ertönen. Soweit so klar.

Was ich jetzt nicht verstehe, ist die Sache mit den 570 Punkten. Die Anzahl der geworfenen Punkte spielt doch hier keine Rolle, oder?

Das Problem mit den falschen Einträgen kommt daher, dass du die Würfe mit Zählenwenn ermittelst, du aber mit der Formel nicht unterscheiden kannst, ob z.B. jetzt Doppel 10 oder die einfache 20 geworfen wurde. Ich werde die Würfe (einfach, doppel oder trippel) per VBA in die entsprechende Zellen eintragen.

Brauchst du die Zellen I2 bzw. J2, d.h. Es sind doch immer 36 Würfe zum Sieg notwendig, oder kann das auch variieren?

Gruß

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

erst einmal vielen Dank das, dass du mir deine Hilfe anbietest.

Ja, das hast du richtig verstanden aber da ich die Liste mit dem normalem Dart  301 Bzw. 501 zusammen gefügt habe, hört die Eingabe beim erreichen von 301 oder 501 auf die Einträge zu tätigen, die Würfe werden aber weiter gezählt, daher habe ich einfach die Zahl 570 eingegeben. Damit weiter die Punkte gezählt werden.

Das Spiel Endet erst wenn ein Spieler jede Zahl mindestens 3 mal trifft, also von 10 bis 25. Das ergibt die Addition in der Zelle DD 15 für Spieler 1, für Spieler 2 in DI 15

Wobei hier mehrmals ein die Zahlen getroffen werden können.

Beispiel: Habe die Zahlen 10 bis 20 alle 3 mal getroffen habe aber mehr Würfe benötigt als 36. da in den Zellen DD 3 bis DD 14 Maximal 3 erscheint und die Summe ist gleich 33 hier fehlt jetzt noch das Bulls ( 25) das man auch 3 mal treffen muss.

Das mit den Würfen kann variieren Da ich noch ein Cricket Spiel mit den Zahlen 15 bis Bulls ( 25 habe) und hier Maximal 21 Würfe benötigt werden.

Die Zellen I2 und J2 werden eigentlich nicht benötigt.

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

Hallo Adde,

ich habe die Codes im Arbeitsblatt Spiel1 so geändert, dass du in I2 die maximale Anzahl der Würfe einstellen kannst (also z.B. 36  oder 21). Es werden nur die Single Doppel oder Trippel der Würfe entsprechend eingetragen. Die Codes zum Rücknehmen des letzten Wurfes bzw. zum Löschen habe ich ebenfalls entsprechend angepasst.

Das Eintragen der Würfe in die ausgeblendeten Zellen habe ich "stillgelegt" ebenso wie das Zählen der Würfe.

Schau mal, ob das so für dich in Ordnung ist: bearbeitete Datei

Gruß

M.O.

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

vielen Dank für die Mühe die du dir gemacht hast.

Aber es ist nicht ganz so wie ich dachte. Habe Datei angeschaut. Das mit den Tripple und Doppel ist Ok und die Punktzahl sollte eigentlich weiterhin angezeigt werden aber weder die Start und Game Over Ansage funktioniert nicht und das schlimmste was ich jetzt festgestellt habe ,das in keiner meiner Dart Listen mehr die Ansage Bzw. Game over ertönt. Ist die neue Datei mit den alten Dateien irgendwie verbunden?

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

die Änderunge haben eigentlich nur Auswirkungen auf die aktuelle Datei.

Wegen der Eintragung der Punktzahl und der Ansage schaue ich noch mal.

Gruß

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

vielen Dank für deine Antwort.

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

Hallo Adde,

hier die überarbeitete Datei: Dart

Für die Ansage "Game on" musst du ein Doppelklick in die Zelle I2 machen. Die Ergebnisse der Würfe sollten jetzt auch wieder eingetragen und angesagt werden.

Gruß

M.O.

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

Super gemacht. Eine Frage noch wann ertönt Game Over. Wenn Punktzahl 36 Erreicht und für das Cricket 15 bis 20 brauch ich nur die Zahl ändern, oder?

Gruß Adde
...