I am responsible for making work schedules at my job and I do them in a way where different people are assigned different tasks on different days of the week. Also, each weekend 2 people work and they get 2 days off during the week as well.
I would like to get any ideas on a way I can make a VBA that automatically fills out the blank days on the schedule while meeting certain rules (i.e. No one gets assigned the same thing on the same day and ,IF possible, no one gets assigned the task twice in a week).
The monthly schedule is formatted like this:
What I'd like to do is be able to set up the schedule with requested days off first then run the VBA and it automatically fills out the rest of the schedule with scheduled tasks per the specified rules leaving what is already there alone.
I'm not sure where to begin with this so I wanted to get some input and tips on where I should start or if anyone has encountered something similar to this already written which I can modify to suit my purposes.
I would like to get any ideas on a way I can make a VBA that automatically fills out the blank days on the schedule while meeting certain rules (i.e. No one gets assigned the same thing on the same day and ,IF possible, no one gets assigned the task twice in a week).
The monthly schedule is formatted like this:
Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | Monday | Tuesday | Wednesday | |
Bob | Task A | Task C | Task B | Off | Off | Task A | Task C | |||
Amber | Task B | Task A | Task C | Off | Off | Task B | Task A | |||
Jason | Task C | Task B | Task A | Task A | Task B | Off | Off | Task C | ||
Amelia | Off | Task C | Task B | Task A | Task B | Task A | Off | Off | Task B | |
Bill | Off | Off | Task C | Task B | Task A | Off | Off | Task C | Task B | Task A |
What I'd like to do is be able to set up the schedule with requested days off first then run the VBA and it automatically fills out the rest of the schedule with scheduled tasks per the specified rules leaving what is already there alone.
I'm not sure where to begin with this so I wanted to get some input and tips on where I should start or if anyone has encountered something similar to this already written which I can modify to suit my purposes.