Добрый день всем!
Вот вопрос: имеется проект VBA, в котором несколько модулей. Некоторые процедуры модулей (Sub) вызываются из других модулей и следовательно, объявлены как Public Sub, а раз так, то пользователь может увидеть их в списке макросов и запустить, что может привести к самым разнообразным и непредсказуемым последствиям.
Самый примитивный способ уйти от такой ситуации - это искусственно объявить все процедуры, которые не должны быть видны пользователю, как Function.
А как это можно сделать программно?