Excel - VBA: Kan jeg sætte hold med den besætning jeg har til rådighed?
Jeg har et lille udfordring.Min bemandingsplan kører fint og jeg har en procedure der kan liste hvem har vi på vagt en given dag - typisk 8-12 personer.
Nu har vi så i et separat sheet, defineret hvilke roller de enkelte personer kan udfylde. Hvis du gerne vil sætte billede på så brug billedet fra en flybesætning, Der skal være en der kan tage rollen som luftkaptajn, en pilot, andenpilot, og en del andre personer som kabinepersonale osv...
Så bliver det næste jo at vi gerne vil teste om dagens bemanding vil kunne udfylde alle roller. Rolle1 til Rolle6 skal besættes, da det er vores minimum for at kunne komme igennem en vagt på forsvarlig vis.
Jeg har lavet et function der fodres med initialer og rollenavn, og så returnerer den False eller True som svar på om personen kan påtage sig rollen.
Function TestInitVsRolle(Init As String, Role As String)
Jeg skal nu til at bygge min procedure der skal teste om alle roller kan dækkes med den besætning vi har til rådighed.
Sub IsAllRolesStaffed()
Const BesaetningsSheet As String = "HR_overblik" ' definerer navn på det sheet der indeholder initialer og roller
Const DagholdRow As Integer = 5 ' definierer i hvilken række initialer med dagen besætning findes
Const BesaetningStartCol As Integer = 12 ' definiere i hvilken kolonne initialer starter
Const BesaetningEndCol As Integer = 24 ' og i hvilken kolonne initialer slutter
' først hentes initialer på dagens besætning ind i et array
BesaetningArray = Sheets(BesaetningsSheet).Range(Cells(DagholdRow, BesaetningStartCol), Cells(DagholdRow, BesaetningEndCol))
'gennemløb array med dagens besætning
'Hvis ikke der sættes komplet hold i første gennemløb - så laves flere gennemløb med besætning i forskellig rækkefølge.
'når eller hvis det lykkes at sætte et komplet hold, så laves der ikke flere gennemløb,
End Sub[/div]
Jeg har ikke kodet proceduren færdig endnu, da jeg gerne vil have nogle input hvis nogen har noget erfaring med at sætte hold med en besætning vi har til rådighed.
Hvordan gribes det bedst an?
