I would suggest a different approach to this. Have one sheet on which you could record the leave bookings made for each person in any order (i.e. date, person name and leave-type). Then have another sheet on which you could select the month and the year of interest (and possibly leave-type) and have the calendar generate itself automatically with the name of each person appearing on the appropriate day.

I have an example file that will do this for up to 12 names per day, and produce some statistics, although it will need some modification to suit your particular circumstances. Does this seem to fit the bill for you?

Pete