Это действительно странное поведение.
Я бы посоветовал вам изменить поведение «Перехват ошибок» в VBA с «Разрыв по неосторожным ошибкам» на «Перерыв по всем ошибкам», чтобы узнать, есть ли что-нибудь еще, что вызывает ошибки.
Еще одна вещь, которую нужно сделать, чтобы проверить, где именно проблема, - это разрезать код. Моим первым предложением было бы удалить строку изменения подписи и повторно запустить сабвуфер, чтобы проверить, все ли еще происходит поведение.
Кроме того, убедитесь, что весь проект компилируется. Если нет, VBA может легко представить странное поведение.
Измените это и дайте нам знать, что происходит ... Я не вижу ничего плохого в коде.