The layout of your calendars would make the code more complex. Would this calendar work for you? It can easily be used for any month/year. Copy this layout to multiple worksheets then change the value in A2. The border immediately above each date should be cleared out - Excel Jeanie put in a border that was not present in my worksheets.
Month
<table style="font-family: Arial,Arial; font-size: 12pt; background-color: rgb(255, 255, 255); padding-left: 2pt; padding-right: 2pt;" border="1" cellpadding="0" cellspacing="0"> <colgroup><col style="width: 30px;"><col style="width: 145px;"><col style="width: 145px;"><col style="width: 145px;"><col style="width: 145px;"><col style="width: 145px;"><col style="width: 133px;"><col style="width: 145px;"></colgroup><tbody><tr style="background-color: rgb(202, 202, 202); text-align: center; font-size: 8pt;"><td>
</td><td>A</td><td>B</td><td>C</td><td>D</td><td>E</td><td>F</td><td>G</td></tr><tr style="height: 17px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">1</td><td style="text-align: center;">First Day</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td></tr><tr style="height: 17px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">2</td><td style="text-align: center;">04/01/2011</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td><td>
</td></tr><tr style="height: 27px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">3</td><td colspan="7" style="font-weight: bold; font-size: 14pt; text-align: center;">April 2011</td></tr><tr style="height: 22px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">4</td><td style="font-size: 16pt; text-align: center;">Sunday</td><td style="font-size: 16pt; text-align: center;">Monday</td><td style="font-size: 16pt; text-align: center;">Tuesday</td><td style="font-size: 16pt; text-align: center;">Wednesday</td><td style="font-size: 16pt; text-align: center;">Thursday</td><td style="font-size: 16pt; text-align: center;">Friday</td><td style="font-size: 16pt; text-align: center;">Saturday</td></tr><tr style="height: 78px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">5</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td></tr><tr style="height: 22px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">6</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-weight: bold; font-size: 16pt; text-align: right;">1</td><td style="font-weight: bold; font-size: 16pt; text-align: right;">2</td></tr><tr style="height: 78px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">7</td><td style="font-weight: bold; font-size: 8pt;">
</td><td style="font-weight: bold; font-size: 8pt;">
</td><td style="font-weight: bold; font-size: 8pt;">
</td><td style="font-weight: bold; font-size: 8pt;">
</td><td style="font-weight: bold; font-size: 8pt;">
</td><td style="font-weight: bold; font-size: 8pt;">
</td><td style="font-weight: bold; font-size: 8pt;">
</td></tr><tr style="height: 22px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">8</td><td style="font-size: 16pt; text-align: right;">3</td><td style="font-size: 16pt; text-align: right;">4</td><td style="font-size: 16pt; text-align: right;">5</td><td style="font-size: 16pt; text-align: right;">6</td><td style="font-size: 16pt; text-align: right;">7</td><td style="font-size: 16pt; text-align: right;">8</td><td style="font-size: 16pt; text-align: right;">9</td></tr><tr style="height: 78px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">9</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td></tr><tr style="height: 22px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">10</td><td style="font-size: 16pt; text-align: right;">10</td><td style="font-size: 16pt; text-align: right;">11</td><td style="font-size: 16pt; text-align: right;">12</td><td style="font-size: 16pt; text-align: right;">13</td><td style="font-size: 16pt; text-align: right;">14</td><td style="font-size: 16pt; text-align: right;">15</td><td style="font-size: 16pt; text-align: right;">16</td></tr><tr style="height: 78px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">11</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td></tr><tr style="height: 22px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">12</td><td style="font-size: 16pt; text-align: right;">17</td><td style="font-size: 16pt; text-align: right;">18</td><td style="font-size: 16pt; text-align: right;">19</td><td style="font-size: 16pt; text-align: right;">20</td><td style="font-size: 16pt; text-align: right;">21</td><td style="font-size: 16pt; text-align: right;">22</td><td style="font-size: 16pt; text-align: right;">23</td></tr><tr style="height: 78px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">13</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td></tr><tr style="height: 22px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">14</td><td style="font-size: 16pt; text-align: right;">24</td><td style="font-size: 16pt; text-align: right;">25</td><td style="font-size: 16pt; text-align: right;">26</td><td style="font-size: 16pt; text-align: right;">27</td><td style="font-size: 16pt; text-align: right;">28</td><td style="font-size: 16pt; text-align: right;">29</td><td style="font-size: 16pt; text-align: right;">30</td></tr><tr style="height: 78px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">15</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td><td style="font-size: 8pt;">
</td></tr><tr style="height: 22px;"><td style="font-size: 8pt; background-color: rgb(202, 202, 202); text-align: center;">16</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td><td style="font-size: 16pt;">
</td></tr></tbody></table>
<table style="font-family: Arial; font-size: 10pt; border-style: groove; border-color: rgb(0, 255, 0); background-color: rgb(255, 252, 249); color: rgb(0, 0, 0);"><tbody><tr><td>
Spreadsheet Formulas</td></tr><tr><td><table style="font-family: Arial; font-size: 9pt;" border="1" cellpadding="2" cellspacing="0"><tbody><tr style="background-color: rgb(202, 202, 202); font-size: 10pt;"><td>Cell</td><td>Formula</td></tr><tr><td>A3</td><td>=DATE(YEAR($A$2),MONTH($A$2),1)</td></tr><tr><td>A6</td><td>=IF(WEEKDAY(A3,1)=1,A3,"")</td></tr><tr><td>B6</td><td>=IF(LEN(A6)>0,A6+1,(IF(WEEKDAY(A3,1)=2,A3,"")))</td></tr><tr><td>C6</td><td>=IF(LEN(B6)>0,B6+1,(IF(WEEKDAY(A3,1)=3,A3,"")))</td></tr><tr><td>D6</td><td>=IF(LEN(C6)>0,C6+1,(IF(WEEKDAY(A3,1)=4,A3,"")))</td></tr><tr><td>E6</td><td>=IF(LEN(D6)>0,D6+1,(IF(WEEKDAY(A3,1)=5,A2,"")))</td></tr><tr><td>F6</td><td>=IF(LEN(E6)>0,E6+1,(IF(WEEKDAY(A3,1)=6,A3,"")))</td></tr><tr><td>G6</td><td>=IF(LEN(F6)>0,F6+1,(IF(WEEKDAY(A3,1)=7,A3,"")))</td></tr><tr><td>A8</td><td>=G6+1</td></tr><tr><td>B8</td><td>=A8+1</td></tr><tr><td>C8</td><td>=B8+1</td></tr><tr><td>D8</td><td>=C8+1</td></tr><tr><td>E8</td><td>=D8+1</td></tr><tr><td>F8</td><td>=E8+1</td></tr><tr><td>G8</td><td>=F8+1</td></tr><tr><td>A10</td><td>=G8+1</td></tr><tr><td>B10</td><td>=A10+1</td></tr><tr><td>C10</td><td>=B10+1</td></tr><tr><td>D10</td><td>=C10+1</td></tr><tr><td>E10</td><td>=D10+1</td></tr><tr><td>F10</td><td>=E10+1</td></tr><tr><td>G10</td><td>=F10+1</td></tr><tr><td>A12</td><td>=G10+1</td></tr><tr><td>B12</td><td>=A12+1</td></tr><tr><td>C12</td><td>=B12+1</td></tr><tr><td>D12</td><td>=C12+1</td></tr><tr><td>E12</td><td>=D12+1</td></tr><tr><td>F12</td><td>=E12+1</td></tr><tr><td>G12</td><td>=F12+1</td></tr><tr><td>A14</td><td>=IF(G12="","",IF(MONTH(G12+1)=MONTH(A10),G12+1,""))</td></tr><tr><td>B14</td><td>=IF(A14="","",IF(MONTH(A14+1)=MONTH(B10),A14+1,""))</td></tr><tr><td>C14</td><td>=IF(B14="","",IF(MONTH(B14+1)=MONTH(C10),B14+1,""))</td></tr><tr><td>D14</td><td>=IF(C14="","",IF(MONTH(C14+1)=MONTH(D10),C14+1,""))</td></tr><tr><td>E14</td><td>=IF(D14="","",IF(MONTH(D14+1)=MONTH(E10),D14+1,""))</td></tr><tr><td>F14</td><td>=IF(E14="","",IF(MONTH(E14+1)=MONTH(F10),E14+1,""))</td></tr><tr><td>G14</td><td>=IF(F14="","",IF(MONTH(F14+1)=MONTH(G10),F14+1,""))</td></tr><tr><td>A16</td><td>=IF(G14="","",IF(MONTH(G14+1)=MONTH(A12),G14+1,""))</td></tr><tr><td>B16</td><td>=IF(A16="","",IF(MONTH(A16+1)=MONTH(B12),A16+1,""))</td></tr><tr><td>C16</td><td>=IF(B16="","",IF(MONTH(B16+1)=MONTH(C12),B16+1,""))</td></tr><tr><td>D16</td><td>=IF(C16="","",IF(MONTH(C16+1)=MONTH(D12),C16+1,""))</td></tr><tr><td>E16</td><td>=IF(D16="","",IF(MONTH(D16+1)=MONTH(E12),D16+1,""))</td></tr><tr><td>F16</td><td>=IF(E16="","",IF(MONTH(E16+1)=MONTH(F12),E16+1,""))</td></tr><tr><td>G16</td><td>=IF(F16="","",IF(MONTH(F16+1)=MONTH(G12),F16+1,""))</td></tr></tbody></table></td></tr></tbody></table>
Excel tables to the web - Excel Jeanie Html 4
I presume that if F6 was changed to Apr 12, that you would want the data that was formerly in Jan 18 to be removed.
Is there a maximum number of events that could occur on a single date?
W5 header occurs in the CB1 Del and CB2 Del groups. Should CBx be copied as well? What should be copied if K2 is changed?
If any of the dates (col D-O) on the primary worksheet are changed what are the corresponding values that should be copied to the appropriate date block
What should happen if a value in column A, B, or C is changed? Should all dates in the changed row be updated?
Does the yellow background colors convey any information that should be copied to the date block? How about the red character values?
Does the order of the entries in each date block matter?
I believe this would be possible in Excel - I also believe it would be slow (1-2 min to update) and somewhat complex to build.
I would recommend that when changes that are made in the primary page a indicator would display that recalculation was needed. Once all changes for a particular session are made the code could be invoked by pushing a command button, (or automatically prior to printing or saving).
The code will examine each of the cells in D6:O35 and copy the date and the appropriate other cell values to a new worksheet that will contain a list of all the current events.
Sort that worksheet by date.
For like dates, concatenate all rows into a single cell (with hard line breaks) set the font size to 10 (or smaller as required to show all entries).
Clear the current calendars (optionally, clear only the cells that have new data, leave old data in cells with no new data).
Copy the concatenated values to the appropriate cells.