Для того, чтобы приоставить выполнение макроса на определённое время, достаточно использовать метод Wait объекта Application.
Определить имя рабочего листа, используемого в среде VBA и именуемое как кодовое или программное имя, можно так
Для того, чтобы в нужном рабочем листе можно было перемещаться только по незаблокированным/незащищённым
ячейкам, можно проделать следующее: