Your problem is in UserForm1.LoadListBox
When you load array Dates with data from the worksheet, you have hidden the last week in ShowMonth and you are including only visible cells, as seen in the portion of code shown in red above. This code appears to be very deliberate so I'm not sure why you included it if you want to show all days. You could remove that.
However, that approach will always show 31 checkboxes, even if the month has fewer days, so some checkboxes will be blank. To correct this, calculate the actual range of dates as shown below. This approach eliminates the visibility issue addressed above so you just use the cells you need:
Now that I have re-read your post, I am unclear on one thing. I was focusing on the form. Do you want these dates to also be visible in the worksheet? The last week of the month is explicitly hidden in ShowMonth. If you don't want it to be hidden, simply comment out the last line of ShowMonth.
Bookmarks