Hallo, ich habe einen Button mit folgendem Makro erstellt. Dieses Makro soll aber erst ausgeführt werden wenn in "D3" oder "K3" der Wert auf 1 ist. Ist diese Bedingung nicht erfüllt, soll eine Meldung erscheinen "Bitte erst das Leg beenden" Das ist für ein Dartspiel was über 15 Legs geht, damit sich in der Endauswertung keine Fehler einschleichen, weil vergessen wurde ein Leg zu beenden, wäre dieser Hinwies für mich sinnvoll. Vielen Dank Gruß Didi
Code:
Sub LEEZ() ' LEEZ Makro Sheets("Leg1 1-2").Select Range("E8").Select End Sub
Sub LEED() ' LEEZ Makro With ActiveSheets If Range("D3") Or Range("K3") = 1 Then Sheets("Leg1 1-3").Select Range("E8").Select Else: MsgBox "Bitte erst das Leg beenden" End If End With End Sub
Moin! Was soll denn da funktionieren? Es gibt kein ActiveSheets, sondern nur ActiveSheet, was aber ohnehin default ist und deshalb überflüssig!
PHP-Code:
If Range("D3") Or Range("K3") = 1 Then
Dann schreibe mal 42 in D3, lasse K3 leer und staune! Richtig ist
PHP-Code:
If Range("D3") = 1 Or Range("K3") = 1 Then
Und @Norbert: Wenn Du schon auf Tabelle1 mittels With verweist, solltest Du die Ranges mittels Punkt der Tabelle zuordnen, ansonsten bezieht sich Dein Code-Fragment wieder (trotz With-Staterment) auf das aktive Blatt!
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Hallo Ralf, wo genau muss dann da bei Range noch ein Punkt hin? Ich befinde mich im Blatt "Leg1 1-2"; ich gehe davon aus, dass das dann das ActiveSheet ist, hab ich jetzt so korrigiert. In "D3" bzw "K3" steht eine 0 dieser Wert ändert sich auf 1, wenn ein Spieler das Leg gewonnen hat. Dann soll das mittels Button das Makro ausgeführt ausgeführt werden und es geht zum Blatt "Leg1 1-3". Na diesem Prinzip sollen dann noch 14 weitere Blätter dazukommen. Gruß Didi
Private Sub CommandButton1_Click() If Range("D3") = 1 Or Range("K3") = 1 Then Tabelle2.Activate Tabelle2.Cells(8, 5).Select Else MsgBox "Bitte erst das Leg beenden" End If End Sub
Tabelle2 ist jeweils für das nächste Blatt anzupassen. Beispiel anbei.
Grüße Norbert
Folgende(r) 1 Nutzer sagt Danke an NobX für diesen Beitrag:1 Nutzer sagt Danke an NobX für diesen Beitrag 28 • DartDidi
Hallo Norbert, vielen Dank für deine Antwort. Es wird sicherlich so sein, dass es da mehrere Lösungen gibt. Habe jetzt erst mal das Makro aus dem 3. Beitrag verwendet und es tut jedenfalls was es soll. Es wird wohl auch nicht die eleganteste Methode sein so wie ich es gemacht habe. Mit VBA arbeite ich auch noch nicht allzu lange, bin da also noch ein blutiger Anfänger. Ich lade das fertige Projekt hier nochmal hoch, falls du noch mal rüber schauen möchtest. Die 501 muss beim Spiel genau auf 0 gebracht werden, dann kann man den Button "Nächstes Leg" betätigen. (501 in E8 oder H8 geht auch) Das war jetzt ein Spiel Jeder gegen Jeden für 3 Spieler. Habe noch vor, dass jeweils noch mal für 4 bis 6 Spieler zu machen, werde es dann mal mit deinem Code probieren. Ich sag noch mal vielen Dank