В Excel VBA (2003) я заметил, что любой метод Публичный или Друг Sub в модуле или этой книге, Нет аргументов, которые будут отображаться как макрос, который может быть запущен пользователем. То есть когда пользователь переходит в Инструменты → Макро → Макросы... (или Alt + F8), метод появится в списке, который можно запустить.
Для удобства (организация, обслуживание и т.д.) мне нужно разделить код на модули. Я надеюсь найти не-хакерский способ скрыть некоторые методы от пользователя, но все же позволить им быть видимыми для других модулей кода. Обратите внимание, что весь код содержится в одном приложении, поэтому внешний код не вызывается.
В моей текущей работе используется Функция, которая возвращает логическое значение вместо Sub s и просто игнорирует возвращаемое значение. eJames предложил вариант использования необязательного аргумента в Sub, который также скроет метод из списка макросов.
Ни один из них не чувствует себя совершенно правильно, поэтому любые советы о том, как структурировать нетривиальное приложение Excel VBA, будут высоко оценены.