I was able to program Excel using the old method, but not VBA.
Anyway, you can take min and max to get min/max class room and date. It won;t work for "120A" or "conference" though.
That would get you your room and date table, anyway.
Then index through. I believe you can convert dates to numbers.
Finally clean up, by deleting rooms (rows) and dates (columns) that have no entries.
You might make a sanity check before proceeding.
The program might be faster, if you used pointers to the names and not the names. The names being on a separate sheet.
I've used that trick a lot in programming.
Just ideas.