Я очень новичок в программировании VBA. В моем сценарии я получаю список значений String Мне нужны эти значения, которые будут отображаться пользователю с помощью переключателей на маленьком окне, чтобы всякий раз, когда пользователь выбирает любое значение, нажав на переключатель, я должен быть в состоянии получить это значение в коде VBA. Я искал кнопку добавления опций в форме пользователя в Интернете. Я получил некоторое решение, которое использует GUI-метод создания кнопок параметров. Но мне нужно это сделать через программу. Я нашел полезный поток в stackoverflow (How can I dynamically add a radio button on a form using VBA) Я использовал это, но все же я не могу получить какую-либо метку или кнопку в пользовательской форме, будет отображаться простая пользовательская форма. Поэтому, пожалуйста, сообщите об этом.Добавление OptionButtons к Userform программно в VBA Excel
Код:
Sub Button1_Click()
lResult As Variant ' this is a array which contains string vaues to be dispayed as radio button.
' Some operatin is done here to get the list of values in lResult
Dim rad As Variant
Set rad = UserForm1.Controls.Add("Forms.OptionButton.1", "radioFoo", True)
rad.Caption = "bar"
rad.Left = 10
rad.Width = 10
rad.Top = 10
End Sub
UserForm1 является UserForm, который я создал с помощью опции Вставить в строке меню VBA. Я попытался добавить одну кнопку в пользовательскую форму. Я не использовал функцию инициализации в пользовательской форме. Существует кнопка на листе excel Button1 Я вызываю эту функцию при нажатии этой кнопки.
Спасибо
Почему бы не использовать вместо listbox со словом «list style», установленным в «listStyleOption», и отформатируйте его так, чтобы он выглядел как набор кнопок параметров (без границы, задний цвет такой же, как форма ...)? Это будет намного легче управлять. –
Какой у вас код в UserForm_Initialize() '? Очень сложно ответить на такой неопределенный вопрос, не видя кода, который у вас уже есть. –
@ Declan_k Большое спасибо. Прошу прощения, я добавил часть кода, которую я использую. Пожалуйста, дайте мне знать, какую коррекцию я должен внести. – Anup