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

Automatische wedstrijdprogramma creeëren

Status
Niet open voor verdere reacties.

Kuifje_007

Gebruiker
Lid geworden
25 mrt 2004
Berichten
209
Weet je hoe je in Excel een automatische wedstrijdprogramma kan creeëren? Ik heb al een schema gemaakt voor verschillende deelnemersvelden (zie bijlage).

Een voorbeeld van een schema voor 4 deelnemers:

X A B
4 1 4
4 2 3
4 3 1
4 4 2
4 1 2
4 3 4

X = aantal deelnemersveld
A = Speler A
B = Speler B

Het Excel-programma moet eerst tellen hoeveel deelnemers er zijn, en dan maakt hij automatisch een wedstrijdprogramma mbv de schema aan de hand van aantal deelnemers.
Weet iemand hoe dit moet. Moet dit in VBA gebeuren of kan het anders?
 

Bijlagen

Kan niemand mij helpen? Of tips geven? Is dit vraag moeilijk of onmogelijk? :(
 
Plak deze code in een module. Is dit wat je zoekt?

Sub wedstrijd()

Dim i, j, t, per As Integer

Range("A1").Select
i = ActiveCell.Value

per = Permutatie(i, 2)

For t = 1 To per
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = i
Next t

ActiveCell.Offset(-per + 1, 1).Select

For t = 1 To i
j = i
Do While j > t
ActiveCell.Value = t
ActiveCell.Offset(0, 1).Value = j
j = j - 1
ActiveCell.Offset(1, 0).Select
Loop
Next t




End Sub

Function Permutatie(a, b) As Integer

'P(k,n) = k!/(k-n)!
'Hier berekenen we het aantal wedstrijden


Dim k, n, z, i, per As Integer

k = 1
z = 1
n = a - b


For i = 1 To a
k = k * i
Next i

For i = 1 To n
z = z * i
Next i

Permutatie = (k / z) / 2

End Function
 
Hartelijk dank, Maglor!! :thumb:

Ik heb deze in de module gezet. En wat moet ik nu verder doen in spreadsheet?
 
Tja, je kan de macro linken aan een knop of anders moet je naar Extra - Macro - Macros (ALT+F8 is iets sneller ;) )gaan en daar 'wedstrijd' uit het lijstje kiezen.

Ook niet vergeten om in cel A1 een waarde (het aantal ploegen) in te geven.
 
Het programma werkt prima, maar kan je ook zo programmeren dat team A niet tweemaal achter elkaar hoeft te spelen?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan