【发布时间】:2024-01-13 12:19:01
【问题描述】:
我对 VBA 编程非常陌生。 我的场景是我将获得一个字符串值列表我需要使用小窗口上的单选按钮向用户显示这些值,以便每当用户通过单击单选按钮选择任何值时,我应该能够获得该值在 VBA 代码中。我在互联网的用户表单中搜索添加选项按钮,我得到了一些使用 GUI 方法创建选项按钮的解决方案。但我需要通过程序完成。我在 * (How can I dynamically add a radio button on a form using VBA) 中找到了一个有用的线程,我使用了这个,但我仍然无法在用户表单上获得任何标签或按钮,将显示一个普通的用户表单。因此,请任何人提供有关此的信息。
代码是:
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 是我使用 VBA 菜单栏中的插入选项创建的用户表单。 我试图在用户窗体上添加一个按钮。我没有在用户窗体上使用初始化功能。 excel 表 Button1 上有一个按钮,我在单击该按钮时调用此函数。
谢谢
【问题讨论】:
-
为什么不使用“列表样式”设置为“listStyleOption”的列表框并将其格式化为一组选项按钮(无边框,背景颜色与表单相同..)?这将更容易管理。
-
您的
UserForm_Initialize()中目前有什么代码?没有看到你已经拥有的代码,很难回答这样一个模糊的问题。 -
@Declan_k 非常感谢。很抱歉,我添加了我正在使用的代码部分。请让我知道我应该做哪些更正。
-
@Tim Williams:感谢您的回复。我会尝试按照你的方法。如果可能的话,请你给我任何关于你的方法的示例链接或信息链接。
-
我不认为它真的需要太多解释 - 真的是一件非常简单的事情:在您的表单上放置一个列表框,设置它的属性以赋予它您想要的外观,然后填充它.. .