То, что вам нужно сделать здесь, называется рефакторинг - вам необходимо внести потенциально опасные изменения в код, не влияя на его поведение. Сделайте это неправильно и код сломается!
Переименование идентификатора, который используется в одном или нескольких местах, - это переименование рефакторинг.
Большинство современных IDE имеют такую функцию (и несколько других рефакторингов ). Однако VBE был на пике своей славы задолго до того, как Visual Studio стал полнофункциональным инструментом, которым он стал с тех пор - черт, VBE был Visual Studio (6.0) в 1998 году!
Так что у вас действительно есть два варианта:
- Выполните рефакторинг вручную - функциональность IDE search & replace (Ctrl + H) может быть здесь опасной, поскольку она обрабатывает код как простой текст без семантического понимания: вам нужно проверить каждый случай в отдельности или рискнуть переименовать идентификатор, который не ссылался на переменную, которую вы пытаетесь переименовать.
- Используйте сторонний инструмент - Я не знаю никаких надстроек VBIDE, которые достаточно глубоко понимают код, позволяющий безопасно реорганизовать код VBA, кроме открытого исходного кода Rubberduck проект, которым я управляю с октября 2014 года). Эта надстройка анализирует весь ваш проект, создает таблицу символов и позволяет вам перемещаться и, да, реорганизовывать / переименовывать любой идентификатор, автоматически обновляя все сайты вызовов.
![Rubberduck's rename refactoring at work](https://i.stack.imgur.com/etufw.png)
Обратите внимание, что Rubberduck - очень активный проект с открытым исходным кодом, постоянно улучшающийся. Синтаксический анализ VBA сложный , и функциональное получение VBE наравне с современными IDE - это не малое и не легкое занятие ... но это забавно , и да, это работает.