使用活动工作表中的单元格选择将组合框填充到用户窗体中

时间:2020-02-19 14:34:49

标签: vba combobox range userform

我刚刚开始在Excel中使用VBA,并且尝试创建一个用户表单,从该表单中选择活动工作表中的数据(一旦我复制了包含该工作表的表单,该用户表单将被复制,并且所有引用均应来激活工作表):

  • 用户窗体被命名为“ SystemDesignUserForm”

  • 包含它的实际工作表称为“系统设计”

  • 组合框被命名为“ DIAComboBox”,并将列出包含在单元格“ w6:w33”中的数据。

我尝试了以下代码:

=IF(AND([@Center]="London",[@Reportable]="YES"),IF(ISNUMBER(MATCH([@ID],Client!C:C,0)),"Yes","No"),"IGNORE")

以及

DIAComboBox.List = Range("W6:W33").Value

并带有:

DIAComboBox.List = ActiveSheet.Range("W6:W33").Value

但它不起作用:组合框显示为空白。

您有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试遍历范围并填充:

'set worksheet
Dim ws as Worksheet
Set ws = Worksheets("System Design")

'loop through and collect range
    For each c in ws.Range("W6:W33")
        With Me.DIAComboBox
            .AddItem c.Value
        End With
    Next c

    Me.DIAComboBox.SetFocus

希望这会有所帮助。