Вывод диалогового окна с несколькими опциями VBA - PullRequest
0 голосов
/ 13 февраля 2019

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

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

Код, который я пытался запустить, был таким, чтобы вызывать окно сообщения и затем изменять текстовое поле, которое на самом деле является меткой, называемой "labelpage"

Private Sub CommandButton1_Click()

UserForm1.Show
If UserForm1.OptionButton1 = True Then LabelPage.Caption = "Company Restricted"
If UserForm1.OptionButton2 = True Then LabelPage.Caption = "Strictly Confidential"
If UserForm1.OptionButton2 = True Then LabelPage.Caption = "Public Information (does not need to be marked)"

End Sub

У меня также было это для каждого нажатия кнопки, чтобы просто закрыть их после выбора в коде пользовательской формы.

Private Sub OptionButton1_Click()
    OptionButton1.Value = True
    Unload Me
End Sub

Private Sub OptionButton2_Click()
    OptionButton2.Value = True
    Unload Me
End Sub

Private Sub OptionButton3_Click()
    OptionButton3.Value = True
    Unload Me
End Sub

Есть ли крошечная ошибка синтаксиса или что-то вродеэто или это просто совершенно неправильно?Заранее благодарю за помощь.

1 Ответ

0 голосов
/ 13 февраля 2019

Проблема в том, что вы выгружаете пользовательскую форму, то есть элементы управления вам недоступны.Решение состоит в том, чтобы просто скрыть пользовательскую форму:

Private Sub OptionButton1_Click()
    Hide
End Sub

Private Sub OptionButton2_Click()
    Hide
End Sub

Private Sub OptionButton3_Click()
    Hide
End Sub
...