• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Scorebord darts

Status
Niet open voor verdere reacties.

plainme

Gebruiker
Lid geworden
10 okt 2009
Berichten
309
Amici,

Vooreerst aan iedereen en zijn dierbaren een zorgeloos, spetterend maar vooral een gezond 2020.

En dan nu de vraag.

Ik heb hier ooit een dartsvraagstuk geplaatst maar dit is afgesloten :(

Nu ja niet erg we herbeginnen gewoon :p:evil:

In bijlage het scorebord wat ik er al van gemaakt heb. Toch ik kom enkele struikelblokken voor de voeten. ( of beter voor de formules :) )

De vraagstelling staat in het bestandje bij geschreven.

Graag jullie expertise / raad / advies


Alvast bedankt


Mvg
Marc
 

Bijlagen

Even voor mijn begrip, als je 3 darts hebt gegooid kun je toch nooit een uitgooien kolom hebben, de beurt is over.. tenzij je daar de uitgooi combi voor de volgende beurt wilt zien

wat ik gedaan heb is tussen de score en de combi heb ik aantal darts gezet die nodig zijn voor de exi, , waarbij 4 wordt gebruikt als waarde voor combi niet mogelijk.
daarnaast heb ik 3 kolommen toegevoegd voor nog 3 darts te gooien, nog 2 darts te gooien en nog 1 dart te gooien
Daarna heb ik index en match formule gemaakt ipv vlookup waarbij na dart 1 de restscore wordt gebruikt om de score op te zoeken in de kolom met nog 2 darts te gaan

Volgens mij zijn jou combi's ook niet volledig. en daardoor redelijk willekeurig?

Ik zie bijv bij score 50 de combi 18 en D16 maar evengoed zijn
hier zijn ook geldig (waarbij ik even alleen uitga van 1e dart op single waarde)

- Bullseye
- 10, D20
- 12, D19
- 14, D18
- 16, D17
- 20, D15
 

Bijlagen

Hey Roel,

Wat de tabel betreft ik heb deze gewoon overgenomen van de dartsfederatie. Er zijn tig mogelijkheden om uit te gooien maar mijn inziens moet het toch een beetje overzichtelijk blijven dan daar een tig aantal mogelijkheden voor de neus te krijgen.

Wat de 3de kolom betreft dit was voor de al aan te tonen wat de volgende mogelijkheid is om uit te gooien.
Nu inderdaad is het zo dat dit reeds in de tabel erboven is vermeld. ( dacht dit zo op te stellen om alle mogelijkheden te benutten, en nu lijkt het inderdaad dat ik het me weer te moeilijk maak waar nie nodig :( )


Wat het verticaal zoeken betreft ... 't ja een mens gebruikt de kennis die hij geeft hè :) :). Nu wat jou oplossing betreft ... weer een stukje slimmer geworden voor de toekomst waarvoor dank.

Misschien nog een vraagje en dan heb ik geen idee of het mogelijk is ....
Maar in de cel P11 tem R11 vul je de waarde van de gooi in. Kan hiervoor iets gemaakt worden dat deze de worpen in de juiste speler terecht komen. ( u zal zien dat wanneer de beveiliging is ingesteld deze naar de volgende speler gaat met de pijltjestoetsen.)
voorbeeld. Speler 1 gooit 1ste dart "20" 2de dart "60" 3de dart "1" ( bescheiden blijven hè:) :) ) deze waarden worden respectievelijk ingevuld in de cellen P11 - Q11 - R11 waar dan in cel S11 het totaal komt.
in dit voorbeeld bij eerste worp in "CEL B5" 81 komt te staan en in cel C6 (501 -81 ) 420
Nu zou dit fijn zijn mocht dit in de juiste speler ( speler 2 ( kolom D) speler 3 ( kolom F) .... terecht komen in de kolommen "B" "D" "F" "H" "J" "L" dit eventueel wanneer knop score wissen wordt gebruikt ( functie wegschrijven en volgende speler zolang er namen zijn ingegeven in de cellen B3 D3 F3 H3 J3 L3.

Een ferm boterham maar zeker geen uitdaging voor de specialisten hier in dit forum. ( een beetje zeem smeren kan geen kwaad dacht ik zo:P:P:P)


Alvast bedankt
 
Ah, Ok als de dartfederatie het al teveel werk vind om alle opties te geven wie ben ik dan om dat te proberen.

Wat betreft de vert.zoeken, dat is op zich prima formule, ik heb de inmiddels een nadrukkelijke voorkeur gekregen voor index en match/vergelijken. en omdat jij vert.zoeken had heb ik wat meer uitleg geplaatst..
In deze sheet maakt het niet veel uit welke je gebruikt. ik vind index en match makkelijker vooral bij grote tabellen je zit je dan niet suf te tellen uit de welke kolom het resultaat moet komen.


Door je Vraag over namen ben ik tot een ander ontwerp gekomen, volgens mij heb je het hele uitgooien blok per speler niet nodig.
Met wat vba code kun je de in het worptotaal blok alles automatiseren. Van het registeren van de dart score, de uitgooi mogelijkheden.

Ik heb een knop volgende speler bijgemaakt, telkens als je erop klikt wordt
- de score van de huidige speler weggeschreven, aan de formule is ook een test toegevoegd voor "no score" (als iemand meer gooit dan zijn rest)
- daarna worden de darts velden leeggemaakt en
- de volgende speler geselecteerd die aan de beurt is.
Als je bij de laatste speler bent gaat ie weer naar de eerste

Ook in het overzichtje van spelers met totaal en gemiddelde(n) verschijnen alleen totalen voor de spelers waarvoor een naam is ingevuld alle andere rijen blijven leeg.
Vooral veel opmaak.

Er zijn 2 korte codes toegevoegd

Code:
Sub VolgendeSpeler()
Application.ScreenUpdating = False
If Cells(3 + Range("U10"), "O").Value = 0 Then Range("U10") = 0
Range("U10") = Range("U10") + 1
If WorksheetFunction.CountA(Range("P11,Q11,R11")) = 0 Then Exit Sub
Call scoreOpslaan
Call Worpen_Wissen

End Sub

Code:
Sub scoreOpslaan()

With Cells(Rows.Count, Range("U10") * 2).End(xlUp)
    .Offset(1) = Range("S11")
    .Offset(1, 1) = Range("P" & 2 + Range("U10"))
End With

End Sub


Volgens mij heb je nog heel weinig werk aan scores invoeren en uitgooimogelijkheden zien.
Achter elke spelersnaam bij de statistieken staat de uitgooimogelijkheid op basis van totaal
en in het worptotaal veranderd de uitgooimogelijkheden telkens als er een dartscore wordt toegevoegd
 

Bijlagen

Laatst bewerkt:
Hey Roel,

Schitterend .... hoe eenvoud siert!
Dikke dank al !!!
Alleen denk ik is er nog een klein detailke...
als je meerdere spelers invoert slaat deze 1 naam over.
Alsook denk ik dat wanneer er het scorebord gewist wordt er automatisch naar speler 1 dient te worden teruggekeerd.
Nu doet deze dat ook niet .

Ik heb gekeken waar ik dat zou kunnen aanpassen in je cade maar vind nergens de cel C6 terug, of heb ik het mis?

en van de aray blijf ik liever af :) :)


Mvg
Marc
 
Ok, inderdaad nog wat schoonheidsfoutjes met wegschrijven volgende speler en score wegschrijven.
Ook vergeten spelers te kunnen wissen.

Nu lijkt het mij vervelend als je met scoreblad wissen altijd ook de namen wist, want als je met dezelfde spelers nog een Leg wil spelen op 501 dan moet je namen weer invoeren

ik heb dus 2 knoppen gemaakt

1. Nieuwe Leg - scoreblad wordt leeggemaakt, spelersnamen blijven staan
2. Nieuw Spel = scoreblad en spelersnamen worden leeggemaakt

Verder de macro's nog een beetje geordend er zijn nu aparte macro's voor de knoppen waarin opgesomd wordt welke kleine functionele macro's allemaal moeten worden uitgevoerd.

voordeel van die opdeling is dat je ofwel een knop kan maken die meerdere macro's uitvoert en aparte knoppen kan maken per functie (zoals worpwissen)
je hebt alle code dan maar 1 keer en roept via een knop 1 of meerdere functies af.
 

Bijlagen

Hey Roel,

Wederom dien ik nederig het hoofd te buigen en bewonderend toe te kijken .:thumb::thumb::thumb::thumb:

Als ik dan toch nog mag vragen....

Als men op nul komt te staan kan er dan een messagebox naar voor komt waarop komt " Hebt u uitgegooid met een dubbel? " Indien op ja dan een andere messagebox " PROFICIAT + naam winnaar. Vraag uw €1000 aan uw tegenspelers :)" .
ge moet nog een beetje gezellig blijven ook.

Mvg,
Marc
 
Messageboxen zijn toegevoegd.

alleen als iemand nee antwoord weet ik niet meer precies wat de regels zijn..
Is je pijl ongeldig en ga je naar volgende dart of is je beurt over met ongeldige score.

Deze code staat als event code worksheet_Change in Blad1

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("P11,Q11,R11")) Is Nothing Then
    If Range("P12") = 0 Then
        answer = MsgBox(prompt:="Hebt u uitgegooid met een dubbel?", Buttons:=vbYesNo)
        If answer = vbYes Then
            MsgBox prompt:="PROFICIAT " & Range("O11") & Chr(13) & "Vraag uw €1000 aan uw tegenspelers"
        Else
            Target = 0
            Target.Offset(, 1).Select
            MsgBox prompt:="Helaas uw worp is ongeldig"
        End If
    End If
End If
End Sub


Wellicht moet de msgbox en de handelingen dus nog aangepast worden als iemand nee antwoord.
 

Bijlagen

Wordt wel een bijzonder programmaatje zo. Veel validatie maar met 1 dart kan ik toch 21 punten vergaren. Zeker een Belgisch dartbord. Net onder het ijzerdraadje van de 20 en de 1:cool:
 
Het kan zijn dat ik je niet goed begrijp (Net onder het ijzerdraadje van de 20 en de 1) VenA maar triple 7 is toch 21?
 
Hey VenA,

Klopt dat je dit kan gooien en zelfs op een Engelse dart :)
maar uitgooien dient te gebeuren met een dubbel e, zoals Popipipo stelt triple 7 is ook 21 maar daarmee geraak je niet uit.

Wordt wel een bijzonder programmaatje zo. Veel validatie maar met 1 dart kan ik toch 21 punten vergaren. Zeker een Belgisch dartbord. Net onder het ijzerdraadje van de 20 en de 1:cool:

En toegegeven het is een mooi geheel geworden dankzij Roel.

ik ga de topic nu sluiten en hoop maar dat er nog andere forumgenoten hier ook plezier zullen aan beleven.

Roel nogmaals mijn dank voor je raad en uitwerken van het geheel.

Mvg,
Marc
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan