One thing that strikes me is that it will still be checking the cells on rows youve hidden which could (depending on the number of columns in each row) have a massive impact. eg
if your range is A1:CV20 then you're checking 100 columns per row.
If you find "Hide" in A1 then you're still checking B1: CV1 (99 cells) even though there is no need to do so.
Ive had a quick test and the following doesnt work but something like this to move it after hiding the row would increase the speed.
Set ce.Row = ce.Row + 1
Set ce.Column = 1 'or the 1st column in your range
Bookmarks