I know I'm fighting the setting, however without the merging of the cells in row 1 for each month you could do the rest (which is just the msarking of the cell where a new month starts) by using a conditional formating. The Rule would look like this
Code:
=MONTH(A$2)<>MONTH(B$2)
It should be used for all cells (in Row 1 to 3) except the one in Column 1.

I'll keep the line problem in mind, just give me some time on that one.
Would you take the entry in line1 if the month would be displayed above day 01 of the month?

I do like to do some coding in VBA, but why do coding when Excel does it by its own formulas!