Hallo würde für eine Dartspiel-Variante gerne noch eine Ergänzung einfügen. Hier mal kurz den Sinn des Spieles erklärt: Jeder Spieler (Spieler 1 und Spieler2) haben zu Spielbeginn jeweils 40 Punkte stehen. In der jeweiligen Runde muss immer der Wert getroffen werden, der in der Spalte F9:F17 verlangt wird. Trifft er diesen Wert ( Einfach, Doppelt oder Dreifach) werden diese Punkte dazu addiert, ansonsten wird der Punktestand halbiert. Das funktioniert soweit auch alles ganz gut. In der Zeile 11 ( Spieler1 C11:E11 und Spieler2 G11:I11) muss irgendein Doppelfeld getroffen werden. Nun würde ich gerne das dort auch nur dann ein Wert eingetragen wird, wenn vorher der rote Doppel Button getätigt wurde. Das gleiche dann für das Tripel in Zeile 14. In der Tabelle Hilfsblatt ist die Zelle A1 auf 1 gesetzt, wenn der Button Doppel bzw. Tripel getätigt wird ist der Wert dann dementsprechend auf 2 oder 3 gesetzt. Der Code dafür steht im Modul Arbeitsblatt, ist aber nicht von mir da hab ich noch kein Durchblick. Vielleicht ist da etwas machbar. Vielen Dank im Voraus Gruß Didi
30.05.2021, 20:41 (Dieser Beitrag wurde zuletzt bearbeitet: 30.05.2021, 20:41 von MisterBurns.)
Mein Dartfreund ist wieder da...
Ändere den Code in "DieseArbeitsmappe"
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sh.Name <> "Ausbullen" And Sh.Name <> "Hilfsblatt" Then
Application.ScreenUpdating = False
If Not Intersect(Target, Range("C11:E11, G11:I11")) Is Nothing Then If Worksheets("Hilfsblatt").Cells(1, 1) <> 2 Then If Target.Count = 1 Then Application.EnableEvents = False Target = "" Application.EnableEvents = True End If End If End If
If Not Intersect(Target, Range("C14:E14, G14:I14")) Is Nothing Then If Worksheets("Hilfsblatt").Cells(1, 1) <> 3 Then If Target.Count = 1 Then Application.EnableEvents = False Target = "" Application.EnableEvents = True End If End If End If
If Not Intersect(Target, Range("c9:i17")) Is Nothing Then If Target.Count = 1 Then Application.EnableEvents = False Target.Value = Target.Value * Worksheets("Hilfsblatt").Cells(1, 1) Worksheets("Hilfsblatt").Cells(1, 1) = 1 Application.EnableEvents = True End If End If
End If
Application.ScreenUpdating = True
End Sub
Habs jetzt nur halbherzig getestet, probier einfach mal.
Nullwerte kannst du übrigens ausblenden, indem du den Bereich C9:E17 benutzerdefiniert formatierst mit
PHP-Code:
#.##0;-#.##0;;@
Schöne Grüße Berni
Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:1 Nutzer sagt Danke an MisterBurns für diesen Beitrag 28 • DartDidi
Hallo Berni, ich bin begeistert, funktioniert so wie ich es mir vorgestellt habe. Solltest du mal auf Rügen Urlaub machen, gerne mal ein Spielchen zusammen mit dir. Dart ist ja auch ein "geiler" Sport!! Mein nächstes Projekt wäre dann nochmal das Cricket-Spiel auf Touch umzuschreiben, vielleicht bräuchte ich da auch noch mal Hilfe. Nochmals vielen Dank Gruß Didi
Meld dich nur, falls ich es seh versuch ich zu helfen (bin nicht mehr allzu häufig in den Foren unterwegs). Hab den Code noch etwas eingekürzt zwecks der besseren Lesbarkeit
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) If Sh.Name <> "Ausbullen" And Sh.Name <> "Hilfsblatt" And Target.Count = 1 Then
If Not Intersect(Target, Range("C11:E11, G11:I11")) Is Nothing Then If Worksheets("Hilfsblatt").Cells(1, 1) <> 2 Then Target = "" End If
If Not Intersect(Target, Range("C14:E14, G14:I14")) Is Nothing Then If Worksheets("Hilfsblatt").Cells(1, 1) <> 3 Then Target = "" End If
If Not Intersect(Target, Range("c9:i17")) Is Nothing Then Target.Value = Target.Value * Worksheets("Hilfsblatt").Cells(1, 1) Worksheets("Hilfsblatt").Cells(1, 1) = 1 End If
Hallo Berni, Danke für dein Angebot. Das 40er Spiel funktioniert bestens. Beim Cricket bin ich gerade bei da was zu basteln, werde dann eventuell heut Abend noch mal Hilfe benötigen. Gruß Didi
Hallo Berni, hier ist nochmal der Dartspieler. Bin jetzt beim Cricket bei, wenn ich die Eingaben mit der Tastatur mache, dann funktioniert es. Nun möchte ich gerne, dass es dann auch per Touch funktioniert. Der Eingabebereich Spieler 1 ist M7:O7 und Spieler 2 M8:O8. Das ganze wird dann in die Spalte ab P8 bzw. Q8 übertragen, was dann alles ab Spalte T verarbeitet wird. Der Cursor bewegt sich mal wieder nicht weiter. Wenn das möglich wäre, sollte es wie folgt funktionieren: Start-Eingabe bei M7 - N7 - O7 - M8 - N8 - O8 dann vielleicht bei O8 ca. 2 Sekunden verweilen, damit man noch mal kurz rüber schauen kann. Nach den 2 Sekunden dann alles in M7:O8 löschen und den Cursor dann wieder zu M7. Was auch noch nicht funktioniert ist die Kombination mit dem Tripel bzw. Doppel Button. Er zeigt mir zwar im Eingabebereich das Tripel an aber überträgt den Wert in die Spalte P/Q nur als einfachen Wert. Ich hoffe ich bin nicht allzu lästig mit meinen Wünschen. Als Dankeschön für eure tolle Arbeit werde ich dann noch mal eine Spende für euer Verein überweisen, ist versprochen.