• 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.

Macro darts

Status
Niet open voor verdere reacties.

SuperRick

Gebruiker
Lid geworden
27 jan 2009
Berichten
18
Hallo iedereen,

Ik ben bezig met het maken van een darts-scoreoverzicht in Excel. Het ziet er als volgt uit:
jsyo2f.png


Nu wil ik een macro maken dat, nadat een speler de leg (ronde) heeft uitgegooid, de macro de volgende dingen uitvoert:
- In cel G8/G9 de getallen 1 en 0 invullen (afhankelijk van de winnaar)
- Als in de cellen G8/G9 al de getallen 1 en 0 zijn ingevuld, moeten deze opgehoogd worden nadat een speler de tweede leg heeft gewonnen.
- De cellen E15:E35 en J15:J35 leegmaken
- Wanneer een speler 3 legs heeft, moeten de cellen I8/I9 de getallen 1 en 0 bevatten (Het aantal gewonnen sets. Deze bestaat uit 3 gewonnen legs).
- Als iemand de set heeft gewonnen, moet het aantal legs weer teruggebracht worden naar 0 (De legs worden geteld per set)

Ik hoop dat iemand mij kan uitleggen hoe ik deze macro moet gaan maken.
Als iets niet duidelijk is, dan hoor ik dat wel.

Alvast bedankt voor de hulp,

MvG,
Rick
 
Kijk ook eens op de site van Wigi naar zijn code voor het tonen van de uit te gooien mogelijkheden. Lijkt mij wel handig voor iedere darter.

Voor site zie footer in de post van Wigi hierboven.
Excel / VBA code / darts leg uitgooien


Ps.
Kan me ook iets herinneren van ci. 1 jaar gelden dat zo een soort sheet als jij wil ook de revue heeft gepasseerd (teven met de hulp van Wigi).
 
Code:
Range("E15:E35","J15:J35").ClearContents

Ik heb het Excel-bestand van de tennismatch gezien. En zoiets zoek ik ook, maar dan voor darts.

De games worden als het ware 'vastgezet' als een speler de game heeft binnengehaald. De telling start dan weer opnieuw. Dit is ook de bedoeling voor het darten, maar dan betreft een game een leg.

MvG,
Rick
 
Hoe wordt het einde van een leg bepaald? Druk jij op een knop of moet dat gezien worden doordat er iemand 0 heeft?
 
Hoe wordt het einde van een leg bepaald? Druk jij op een knop of moet dat gezien worden doordat er iemand 0 heeft?
Dit moet doormiddel van een knop. Wanneer hier op gedrukt wordt, moet er bij de speler die als eerste op 0 is uitgekomen, een punt worden geteld. Wanneer een persoon als eerste 3 legs wint, heeft deze een set gewonnen en worden de legs voor de tweede set weer op 0 gezet.

Begrijp je wat ik bedoel?

MvG,
Rick
 
Rick, ik denk dan toch dat jij het verkeerde bestand gezien hebt op Office Forum hoor. Voor zover ik er iets van ken is Darts toch iets anders dan tennis :p
Kan het niet posten want is 246kb groot( in rar). Raad je toch aan om de link van Tommy1 te bekijken

Mvg

Rudi
 
Laatst bewerkt:
Rick, ik denk dan toch dat jij het verkeerde bestand gezien hebt op Office Forum hoor. Voor zover ik er iets van ken is Darts toch iets anders dan tennis :p
Kan het niet posten want is 246kb groot( in rar). Raad je toch aan om de link van Tommy1 te bekijken

Mvg

Rudi
Dat bestand heb ik gezien, maar zoiets zoek ik niet. Ik zoek eigenlijk hetzelfde soort idee als het Tennisbestand van Wigi. Het gaat min of meer om het principe. De onderdelen in dat tennisbestandje, kunnen met een paar aanpassingen gebruikt worden voor darts.
 
Post anders je bestandje met je ontwerp eens.

Mvg

Rudi
 
Wat is fout aan de volgende code:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("E:N")) Is Nothing Then
If Range("E34").Value = 0 Then
Range("G8").Value = Range("G8").Value + 1
End If
End If
End Sub

Als Cel E34 0 is, dan moet er in cel G8 +1 bij. Maar dit gebeurt niet.
 
De klassieke val bij Worksheet_Change events en soortgelijke:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("E:N")) Is Nothing Then
        If Range("E34").Value = 0 Then
            [B]Application.EnableEvents = False[/B]
            Range("G8").Value = Range("G8").Value + 1
            [B]Application.EnableEvents = True[/B]
        End If
    End If
End Sub

Het change event blijft zichzelf altijd maar opnieuw aanspreken, G is nl. een kolom tussen E en N.

Wigi
 
De klassieke val bij Worksheet_Change events en soortgelijke:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("E:N")) Is Nothing Then
        If Range("E34").Value = 0 Then
            [B]Application.EnableEvents = False[/B]
            Range("G8").Value = Range("G8").Value + 1
            [B]Application.EnableEvents = True[/B]
        End If
    End If
End Sub

Het change event blijft zichzelf altijd maar opnieuw aanspreken, G is nl. een kolom tussen E en N.

Wigi
Bedankt voor de informatie Wigi. Het begint er nu al iets meer op te lijken.

Maar wat is er fout aan de volgende code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("E:N")) Is Nothing Then
If Range("E34").Value = 0 Then
Application.EnableEvents = False
Range("G8").Value = Range("G8").Value + 1
If Range("J34").Value = 0 Then
Application.EnableEvents = False
Range("G9").Value = Range("G9").Value + 1
Application.EnableEvents = True
End If
End If
End If
End Sub

Daarnaast wil ik dat de Excelcursor automatisch naar bepaalde cellen gaat. Wanneer er in cel E13 een getal is ingevuld, dan moet de cursor gaan naar J13. Wanneer deze cel is ingevuld, moet de cursor gaan naar E14. Vervolgens weer naar J14, etc. Ik heb zo'n code al een gezien, maar weet niet meer waar ik deze terug kan vinden.

MvG,
Rick
 
Laatst bewerkt:
Bedankt voor de link, maar dit is niet precies wat ik zoek. Ik heb eens iets gezien dat Wigi plaatste. Het is namelijk zo dat als er in cel E13 (een samengevoegde cel) er een getal staat ingevuld en ik op enter druk, dat de cursor verspringt naar de cel ernaast, J13 (eveneens een samengevoegde cel). Wanneer deze is ingevuld, moet de cursor naar E14 springen, daarna naar J14, E15 etc.
 
Hier vind je een mooi voorbeeld van Darts om te downloaden bij " Computeridee ":

http://www.computeridee.nl/downloads.jsp?rubriek=1620616&id=1816235

Als je deze listing achter elk blad zet vanaf 1st Set tot en met de 11th Set zet zal de cursor telkens verspringen na de ENTER-toets


Bij 0(nul) verspringt de cursor naar de 2de leg enz.



Code:
'macro van 'Ingrid Baplue'
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, [B15:B30]) Is Nothing Then
    If Target.Offset(0, 1) > 0 Then
      Target.Offset(0, 2).Select
    Else
      Cells(15, Target.Column + 4).Select
    End If
  ElseIf Not Intersect(Target, [D15:D30]) Is Nothing Then
    If Target.Offset(0, 1) > 0 Then
      Target.Offset(1, -2).Select
    Else
      Cells(15, Target.Column + 4).Select
    End If
  End If
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan