Wat betreft de invoer heb ik de volgende oplossing.
Alleen integers worden geaccepteerd,
Wanneer er een geheel getal wordt gegeven wordt bGeheel true
Bij bGeheel = false geef je een melding dat de invoer fout is en terug naar af.
De punt krijgt een aparte behandeling daar excel van 1.3 bv 13 maakt en dus een integer zou zijn.
Ook de invoer 0 wordt geaccepteerd (in ben niet zo goed in darten

)
zie hier mijn voorbeeldje:
Code:
Sub test()
Dim sInvoer As String
Dim bGeheel As Boolean
bGeheel = False
sInvoer = InputBox("geef invoer")
If IsNumeric(sInvoer) Then
If CDbl(sInvoer) = CInt(sInvoer) And InStr(1, sInvoer, ".") = 0 Then
bGeheel = True
End If
End If
MsgBox (sInvoer & " is een integer = " & bGeheel)
End Sub
Mogelijk kan dit makkelijker, maar mij lukte dat niet.
Wat betreft de opeenvolging van de listbox kun je naar de volgende gaan.
Door deze met .setfocus op de voorgrond te zetten
Dat doe je het beste in een eventmacro bv. listbox_click
Na een enter wordt dan de code daar uitgevoerd die naar de waarde uitleest en naar de volgende tekstbox laat springen.
In feit heb je dan geen commandbuttons meer nodig.
dan wordt het:
speler 1,
score invoeren, Enter,
(score verwerken)
speler 2 enz.
Mogelijk is het mooier om de tekstboxen visible te houden
en met .enabled = true/false aan te geven welke speler aan de beurt is.
De spelers die niet aan de beurt zijn worden dan "weggegrijst"
succes met het uitwerken
mvg leo