Я создал пользовательскую форму, которая позволяет пользователю выбирать лист из списка открытых листов. Мне нужна эта пользовательская форма в разных местах моего макроса для различных целей; например, чтобы указать рабочий лист, содержащий данные о продажах, и указать рабочий лист, содержащий данные о запасах. Объекты wsSales
и wsStock
должны указывать на соответствующие рабочие листы, чтобы мой макрос мог впоследствии работать с ними.
Как я могу дать каждому экземпляру моей пользовательской формы различное поведение? Один экземпляр должен установить wsSales
на выбранную пользователем рабочую таблицу, другой экземпляр должен установить wsStock
на выбранную пользователем рабочую таблицу.
Я думал о том, чтобы добавить несколько кнопок «ОК» в мою форму и сделать только одну видимую для каждого экземпляра. Каждая кнопка ОК будет иметь другой код. Но это не очень элегантно, потому что мне нужно было бы поместить столько кнопок «ОК», сколько есть возможных вариантов использования моей пользовательской формы, и в более сложных ситуациях это могло бы стать беспорядком. Поэтому в идеале я бы использовал свойство моей пользовательской формы в качестве указателя на wsSales
или wsStock
, но я читал, что указатели не существуют в VBA. Тогда каков наилучший способ, чтобы два экземпляра пользовательской формы вели себя по-разному?