Edit:
I added a line to Feb as it seems that was where it was getting the error. Now I am back to the Runtime 457 error, that was due to a duplicate date, I changed it and MAR was the culprit tab.
I added a line to each month and now it works!

Does this mean I will need to make a fictitious person to start each month or it will not work? Normally those tabs would stay empty until the start of the month.
I just saw your last post, so what I just said probably does not make sense.
When the code stops, click debug then hover your mouse on the line highlighted in yellow.

It should break at :

                Dic(ar(i, 1)).Add ar(i, 7), ar(i, 10)
if you place the cursor over ar(i, 1), ar(i, 7) and ar9(i, 10), what values do you see?