我在 Excel 2016 中创建了一个用户表单,其中包含多个组合框、多个文本框、两个单选按钮和一个提交按钮。首先,如何让组合框引用我已经设置的列表?
答案1
您可以使用 form_activate 事件处理程序触发事件。在项目窗口中右键单击您的用户表单,然后单击“查看代码”
将此类内容粘贴到代码窗口中:
Private Sub UserForm_Activate()
ComboBox1.AddItem ("1")
ComboBox1.AddItem ("2")
ComboBox1.AddItem ("3")
End Sub
这会将项目加载到组合框中。您也可以将其更改为如下内容:
Private Sub UserForm_Activate()
ComboBox1.AddItem (range("'Sheet1'!A1").value)
ComboBox1.AddItem (range("'Sheet1'!A2").value)
End Sub
如果您的组合框项目位于 Excel 表的某个位置。
一旦创建了 Activate 事件,您首先需要一些东西来打开表单(我相信您已经知道了)。因此,像这样:
Public Sub show_form()
UserForm1.Show
End Sub
然后您可以通过 Excel 表上的按钮或某些内容调用事件 show_form。
完整示例
以下是完整示例:
创建新工作簿。在 A1 和 A2 中输入一些数据。保留默认工作表名称“Sheet1”
按 Alt F11 打开 VBA 端。单击插入 > 用户窗体
出现 UserForm1。右键单击它,然后单击“查看代码”。粘贴此代码:
Private Sub UserForm_Activate()
ComboBox1.AddItem (Range("'Sheet1'!A1").Value)
ComboBox1.AddItem (Range("'Sheet1'!A2").Value)
End Sub
双击树中的 ThisWorkBook。单击插入 > 模块。粘贴以下内容:
Public Sub show_form()
UserForm1.Show
End Sub
你的树看起来应该是这样的:
现在在 excel 工作簿中,添加一个像盒子一样的形状。右键单击形状,然后单击“分配宏”。选择 show_form。
现在尝试运行。单击您拥有的形状。这应该会显示表单。当您单击下拉菜单时,它应该会填充两个项目。
答案2
以下是完整示例:
创建新工作簿。在 A1 和 A2 中输入一些数据。保留默认工作表名称“Sheet1”
按 Alt F11 打开 VBA 端。单击插入 > 用户窗体
出现 UserForm1。右键单击它,然后单击“查看代码”。粘贴此代码:
Private Sub UserForm_Activate() ComboBox1.AddItem (Range("'Sheet1'!A1").Value) ComboBox1.AddItem (Range("'Sheet1'!A2").Value) End Sub 双击树中的 ThisWorkBook。单击插入 > 模块。粘贴此内容:
Public Sub show_form() UserForm1.Show End Sub