【发布时间】:2018-03-14 08:11:04
【问题描述】:
我需要创建 ComboBox,然后为每个 ComboBox 创建 AddItems。这一切都将在用户表单中完成。我需要完全在 VBA 代码中执行此操作,这是因为每次打开用户窗体时都会显示新信息。
这是我目前所拥有的:
Private Sub UserForm_Initialize()
for i = 1 to size
Set CmbBX = Me.Controls.Add("Forms.ComboBox.1")
CmbBX.Top = ((90 * i) - 18) + 12 + 20
CmbBX.Left = 30
CmbBX.Text = "Please select an item from the drop down"
CmbBX.TextAlign = fmTextAlignCenter
CmbBX.Width = 324
CmbBX.Visible = False
CmbBX.Name = "ComBox2" & i
Next
end sub
问题是,一旦创建了每个 ComboBox,它的名字就不再存在了。我无法引用组合框。这是我尝试过的:
ComBox21.AddItems "Test1"
ComBox22.AddItems "Test2"
它会出错。当我查看屏幕顶部的 UserForms 功能栏时(例如,我通常会选择 ComBox22_Change()),它表明甚至不存在 ComboBox!
关于如何动态创建和添加项目到组合框的任何想法?
提前谢谢你
【问题讨论】: