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

formule of script voor automatische toewijzing data o.b.v. meerdere voorwaarden

Status
Niet open voor verdere reacties.

WIR053

Nieuwe gebruiker
Lid geworden
24 feb 2018
Berichten
4
Beste experts,

Voor mijn werk wil ik graag een selectieproces automatiseren. Een student moet 4 voorkeurscholen aanleveren, daarnaast moet kenbaar worden gemaakt of men wil starten in het voorjaar of in het najaar.

Nou wil ik graag een script/formule waarmee ik vervolgens automatisch de beschikbare plaatsen per periode (voorjaar en najaar) kan laten toewijzen.

Voorwaarden:
Degene met de hoogste ranking score (combinatie van de hoogste "speed" en het hoogste "gemiddelde") krijgt zijn eerste voorkeur toegewezen. Kanttekening daarbij is wel dat die keuze nog beschikbaar moet zijn. Dit heeft te maken met het beperkte aantal beschikbare plekken per periode (voorjaar en najaar). Als de eerste keuze niet meer beschikbaar is moet automatisch de tweede voorkeur gekozen worden (indien nog beschikbaar). Als er geen beschikbare plekken meer zijn moet de tekst "geen plaatsing" verschijnen.

Wie kan mij helpen?

Groeten, Remko

Bekijk bijlage 319155
 

Bijlagen

Laatst bewerkt:
Kan volgens mij alleen met en macro.

Code:
Sub VenA()
  With Sheets("Blad1").Cells(1).CurrentRegion
    .Sort .Cells(1, 6), , , , , , , xlYes
    .Offset(1).Cells(1, 13).Resize(.Rows.Count - 1, 4).ClearContents
    ar = .Value
    ar1 = .Parent.Cells(18, 10).CurrentRegion.Resize(, 5)
    For j = 2 To UBound(ar)
      b = False
      t = IIf(LCase(ar(j, 11)) = "x", 4, 5)
      For jj = 7 To 10
        If Not b Then
          For jjj = 2 To UBound(ar1)
            If ar(j, jj) = ar1(jjj, 1) And ar1(jjj, t) < ar1(jjj, t - 2) Then
              ar(j, jj + 6) = ar1(jjj, 1)
              ar1(jjj, t) = ar1(jjj, t) + 1
              b = True
              Exit For
            End If
          Next jjj
        End If
      Next jj
      If Not b Then ar(j, 13) = "geen plaatsing"
    Next j
    .Value = ar
  End With
End Sub
 

Bijlagen

Laatst bewerkt:
mijn glazen bol zegt dat er een "echt" bestand is en dat het daarbij niet werkt....................................................

hopelijk ben ik een doemdenker.
 
@SjonR
Verklaar u nader? Aan doemdenkers hebben we niets. Wel aan mensen die even wat testen en dan met een uitleg komen waarom iets mogelijk niet de gewenste uitkomst geeft.;) Mij lijkt het te werken als het bij jou niet goed gaat dan wil ik natuurlijk wel weten waar het stuk loopt.
 
Laatst bewerkt:
@ VenA

Ik bedoel dat jij je best hebt gedaan , maar dat TS het daarna toch anders wil

want het lijkt me sterk dat er maar zeven scholieren zijn. :thumb:
 
Laatst bewerkt:
@VenA Super bedankt...! volgens mij kan ik met dit script/macro hetgeen doen, waar ik naar op zoek was.
 
Nogmaals hulp gevraagd!

Bekijk bijlage Bron_bestand_versie 2.xlsx@VenA Ik heb gemerkt dat mijn kennis van het VBA-scripten mij in de steek laat voor wat betreft het aanpassen naar de werkelijke situatie. Zou jij aub het script zoals je dat had gemaakt voor de demo-situatie kunnen aanpassen naar de echte situatie.

Ik zou je hier zeer dankbaar voor zijn...

P.S. Ik heb de beschikbare plaatsen in het tweede tabblad geplaatst.
 
Waarom staat de code niet in het bestand? Lijkt mij wel het minste dat je kan doen. Wat lukt er niet om aan te passen? Waarom is het demobestand compleet anders dan het echte bestand? De code aanpassen is niet zo moeilijk maar dan wil ik wel weten of dit bestand overeenkomt met het echte bestand.
Is het blad 'list' altijd gesorteerd op 'Rank' en begint de tabel altijd in A4? Waarom niet in A1?
Kunnen er andere variabelen voorkomen in 'First year certificate' of in 'Class'? Zo ja moet er dan rekening mee gehouden worden?


@SjonR, Waar kan ik zo'n bol kopen?:d
 
@VenA Ik ben er inmiddels uit. In het VBA-script had ik het tabblad met de beschikbare plaatsen niet goed benoemd, waardoor het script telkens vastliep.

Nogmaals dank voor het basis-script...echt super!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan