Thanks for clarifying on that, GeneralDisarray. The code you attached works great!

So, I'm still gathering requirements from my manager, but it's likely that the "required" fields will be limited to about 30 - 35 columns (yes, that's still a lot, but much fewer than the A:DD range I've posted here. I'll have to do some more testing on performance, but as of now it is pretty fast. I may wind up limiting the number of rows a client can fill out to 500. At the end of the day, there will be just a few instances where clients will be filling out more than 100 rows, so we may be good with the code you provided.