You can use AutoFilter to do most of the work you're doing in your CommandButton2 macro and significantly increase the speed by not looping through the whole dataset over and over again.
For instance, this is how I would write section #9, it leaves the FILLER rows hidden after painting them white...is this what you had in mind?:
Section 8 really only needs to find the one Grand Total cell, right? NO need to loop the entire sheet for that, just go to it directly:
You tend to manually select things before applying your actions. That's only required if you're human, VBA can act on cells/ranges directly without selecting them first...at all. Sections 5 & 6 demonstrate this:
I would rewrite the whole FILLER macro without all the selecting and FillDown stuff:
Bookmarks