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

Wedstrijdschema

Status
Niet open voor verdere reacties.

Sytse1

Gebruiker
Lid geworden
9 aug 2007
Berichten
584
Office versie
miDer
Op verzoek van Sylvester-Ponte deze (voor mij) hersenbreker

Uit bijgesloten Excel bestand kan je door in kolom A van het blad Spelers een x te plaatsen de spelers random selecteren en voorzien van een wedstrijdnummer.
Deze worden dan geplaatst in het blad geselecteerden. (met dank aan Cow18 voor zijn vba code)

Wat is de bedoeling:
De geselecteerden gaan in willekeurige paren 5 ronden tegen elkaar spelen.
In elke ronde spelen ze met een andere partner en tegen andere tegenstanders.
Afhankelijk van het aantal spelers kan het voorkomen dat het 3 tegen 2 is of drie tegen 3 is.
Kijk bv in blad 43 daar zie je wedstrijdschema's staan met o.a. 3 tegen 3 en 3 tegen 2.
Maar het gezamenlijk spelen met 3 mag voor deze spelers maar in 1 ronde voorkomen..
Wellicht is dit in een VBA code te realiseren.

De wedstrijden staan uitgeschreven in de bladen 16 t/m 100 spelers. (84 bladen.)
Ter verduidelijking(hopelijk) van hetgeen ik hierboven beschrijf.

Aangezien het bestand voor het uploaden te groot is zijn de bladen met de schema's 51 tm 100 verwijderd.
(Ik gebruik Office Excel 365 en Windows 10.)

Sytse
 

Bijlagen

ik zie dat je de schema's al hebt,
je hebt dus alleen een macrootje nodig om de namen per ronde in te vullen .
klopt dat?
 
Sylvester,
dat kan natuurlijk. Met het aantal geselecteerden het juiste tabblad vinden. Op basis van het toegekende nummer de naam invullen.
Wat ik echter bedoel met een hersenbreker is het volgende.
In plaats van de bladen met de wedstrijden een vba functie die de wedstrijden samensteld.
Wel op basis van hetgeen in de wedstrijd poules staan.
Zodat ik 84 bladen kan verwijderen.
Als dit niet gaat gebruik ik de 84 bladen.
Benieuwd naar de reactie(s).
Sytse
 
Sylvester, zelf gemaakt.
Was een behoorlijke klus.
Ik had de tabellen in Access gemaakt.
Maar Access wordt door venigingen zelden gebruikt.
Daarom ben ik overgestapt naar Excel.
Excel hebben ze bijna allemaal.
Deze toepassing is voor een inloop toernooi.
Iedereen moet mee kunnen doen.
Vandaar de moeilijkheid met extra spelers.
Zodat je wedstrijden met 3 tegen 2 krijgt enz.
Zo’n toernooi kan voor 1 dag of kwartaal enz gebruikt worden.
Aan de puntentelling moet nog gewerkt worden.
Het is maar een hobby.:thumb:
 
Laatst bewerkt:
Emields,
Als het niet anders kan, en dat is o.a. bij 17, kan niemand daar bezwaar tegen hebben.
Dan is het onvermijdelijk dat er met en tegen dezelfde spelers gespeeld wordt.
Je kan dan wel er voor kiezen 1 of 2 rondes en dan naar huis:)
 
Laatst bewerkt:
eeventjes snel in elkaar gebotst, eigenlijk had ik de tabel vanaf AA1 ook kunnen leegmaken en vullen met de gepaste tabel uit je werkblad zoveel. Had iets netter geweest.
Waarom de ubound niet werkt ? Dat bekijk ik straks ofwel iemand anders.
Ook nog een foutafhandeling nodig om te kijken of je tabblad zoveel wel bestaat.
Code:
Sub Schema()
   With Sheets("geselecteerden")
      namen = .ListObjects("TBL_Geselecteerden").DataBodyRange   'normaal moet je hier het aantal kunnen uitlezen door ubound (???)
      aantal = 25                                'ubound(namen), die is nu +1.000.000
      .Range("AA1:AZ100").Clear                  'bereik leegmaken
      Sheets(CStr(aantal)).ListObjects(1).Range.Copy .Range("AA1")   'gepaste tabel kopiëren
      For i = 1 To aantal                        'nummers aflopen
         .Range("AC2:AE100,AG2:AI100").Replace i, namen(i, 3), lookat:=xlWhole   'nummers door namen vervangen
      Next
      .Columns("AA:AZ").AutoFit
   End With
End Sub
 

Bijlagen

Laatst bewerkt:
Cow18,
weer bedankt. Ziet er uitstekend uit.
Ik zie dat je het tabblad met het aantal spelers kopieert.
Ik had al een msbox met de foutmelding voor het aantal <16 en >100.
Het aantal geselecteerden staat ook in blad spelers F1.
Maar jouw oplossing is beter. Bedankt ik ga het verder uitbreiden met uitslagen enz.
Tot de volgende vraag:d
sytse
 
Sytse, in schema 19 zit een klein foutje, speler 12 steelt 6 maal en speler 14 speelt 4 maal
is dat expres ?
 
Sylvester, helemaal gelijk. (Aangepast)
Om de schema's buiten dit draadje te houden heb ik je een privé bericht gezonden.

Cow,

Fantastisch stukje code.
Ook dat dat je de nummers meteen door de namen vervangt

(weer wat geleerd)

Sytse
 
Laatst bewerkt:
Sytse, er zijn hier veel slimmere helpers dan ik.
dus als iemand een macro wil maken voor die schema's dan is de informatie uit je privé bericht toch belangrijk.
bij deze een klein belangrijk gedeelte:
Code:
Als je schema 16 spelers neemt zie je de volgorden.
Het is niet zo moeilijk bij even getallen. Bij een enkele drie per wedstrijd is nog goed te doen.
Bij weinig spelers en met steeds 3 bij elkaar wordt het vaak een puzzeltje omdat je wil dat een speler maar per 5 rondes 1 maal met zo'n drieën speelt en even ook als het kan een speler maar 1 maal tegen 3 spelers. Dat is gewoon even puzzelen.
hier in staat:"Het is niet zo moeilijk bij even getallen".
doe het eens voor aub
 
Sylvester,
Hieronder een poging. Volg bv nummer 5 Die zie je dan verspringen.
De nummers 6,7 en 8 verspringen dan 1 omhoog enz.
speler1 speler2 tegen tegenspeler1 tegenspeler2
1 1 5 tegen 9 13
1 2 6 tegen 10 14
1 3 7 tegen 11 15
1 4 8 tegen 12 16

2 1 6 tegen 11 16
2 2 7 tegen 12 13
2 3 8 tegen 9 14
2 4 5 tegen 10 15

3 1 7 tegen 9 15
3 2 8 tegen 10 16
3 3 5 tegen 11 13
3 4 6 tegen 12 14

4 1 8 tegen 11 14
4 2 5 tegen 12 15
4 3 6 tegen 9 16
4 4 7 tegen 10 13

5 1 9 tegen 5 13
5 2 10 tegen 6 14
5 3 11 tegen 7 15
5 4 12 tegen 8 16
 
Sylvester, raakte daar zonet een puntje aan.
Ik heb met de macro "tellen" eens alle koppels langsgelopen, zowel als medespeler(M) als tegenspeler(T).
Bedoeling zou moeten zijn om zo weinig mogelijk eenzelfde koppel onder dezelfde vorm(M/T) te laten terugkeren.
Kijk naar de kolommen M:N in de verschillende tabs.
De tabs met de rode kleur zijn in mijn ogen perfect, voor de groene zou er nog ruimte zijn tot verbeteren, maar vraag met nu niet direct hoe.

Ik zie dat er al een discussie op gang is, goed !
 

Bijlagen

Laatst bewerkt:
Voor liefhebbers hierbij een eenvoudige Power Query oplossing, uitgaande van de templates.
Noot: in het originele bestand bestaat de spelers tabel uit twee onafhankelijke tabellen.
 

Bijlagen

Bij 84 schema's krijg ik af en toe een blinde vlek.
Bedankt voor het meedenken.
Ik ga ze nakijken. (Allemaal:shocked::()
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan