2016-01-13 2 views
0

У меня есть следующая проблема: у меня есть UserForm A и UserForm B в excel. Оба UserForms вызывают UserForm C. Пользователь выбирает идентификационный номер из UserForm C, который затем я хочу поместить в метку в UserForm A или UserForm B, в зависимости от того, какой из них открыт в данный момент.Можете ли вы использовать оператор if, чтобы решить, в чем UserForm помещать информацию?

Я искал возможный ответ или альтернативное решение этого вопроса, но не смог найти ничего, что помогло бы. Я пытаюсь избежать необходимости делать два UserForm C, если я могу помочь. Любая помощь приветствуется.

Спасибо!

Редактировать: сейчас мой код для Userform C инициируется событием click. Таким образом, пользователь выбирает идентификационный номер из списка, который автоматически сохраняется в скрытую метку. Когда пользователь нажимает кнопку сохранения, заголовок скрытых ярлыков (идентификатор) передается в UserForm A. То, что мне в конечном итоге понравится, - это то, что существует какая-то инструкция if, чтобы различать, если Userform A открыт, а если нет, то скрытые метки caption вместо этого передается в UserForm B. Я подумал об использовании кнопки выбора для пользователя для выбора, но не у всех пользователей есть доступ к UserForm B, поэтому я бы предпочел не позволять пользователю пытаться определить, где они должны быть сохранены ID.

код у меня есть для события щелчка является:
Private Sub cmd_save_Click()
UserFormC.Label1.Caption = UserFormA.Label1.Caption
Разгрузка UserFormC
End Sub

+0

Не могли бы вы показать нам какой-нибудь код? Мы могли бы помочь вам заставить его работать. –

+0

Я добавил код, который у меня есть, но он не учитывает возможность открытия другого UserForm. Есть ли сказать, что если UserForm A, называемый UserForm C, чтобы открыть, затем передайте информацию обратно в UserForm A? Я работаю только с VBA в течение нескольких месяцев, поэтому я знаю только основы. – Ashley

ответ

0

Вы можете основывать его на значении кнопки опции. На вашем FormC разместите две кнопки с текстом FormA и другой FormB. Затем в метронома или изменения случае управления вы «выбрать идентификационный номер из UserForm C», используйте, если заявление

If OptionButton1.Value = True Then 
    UserFormA.Label1.Value = "A" 
Else 
    UserFormB.Label1.Value = "B" 
End If 

То есть все, что я могу предложить, не видя ваши формы и или код.

Смежные вопросы