Несколько экземпляров одной пользовательской формы / необходимость указателей - PullRequest
0 голосов
/ 31 марта 2012

Я создал пользовательскую форму, которая позволяет пользователю выбирать лист из списка открытых листов. Мне нужна эта пользовательская форма в разных местах моего макроса для различных целей; например, чтобы указать рабочий лист, содержащий данные о продажах, и указать рабочий лист, содержащий данные о запасах. Объекты wsSales и wsStock должны указывать на соответствующие рабочие листы, чтобы мой макрос мог впоследствии работать с ними.

Как я могу дать каждому экземпляру моей пользовательской формы различное поведение? Один экземпляр должен установить wsSales на выбранную пользователем рабочую таблицу, другой экземпляр должен установить wsStock на выбранную пользователем рабочую таблицу.

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

1 Ответ

2 голосов
/ 01 апреля 2012

Вы действительно объявляете переменные как экземпляры пользовательской формы?Если нет, вы должны.Возможно, вы захотите посмотреть этот пост: yoursumbuddy.com / a-Flexible-vba-chooser-form .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...