如何根据条件语句填充列表框

时间:2020-01-16 15:18:49

标签: excel vba listbox conditional-statements

我正在尝试在用户表单中填充一个列表框,但是该列表框需要根据活动工作表的单元格中的内容进行更改。复杂的是,我试图引用另一个表上的命名范围。因此,例如,如果该单元格显示“ hi”-我想检查该单元格是否显示“ hi”,然后转到另一个名为“ hi”的工作表上的命名范围,并将该范围内的值输入列表框。

这是我到目前为止所拥有的:

Private Sub UserForm_Initialize()

'Populate Combobox Based on Cell Value
Dim celltxt As String
celltxt = ActiveSheet.Range("cellTest").Text

    If InStr(1, celltxt, "hi") Then
        'Code to bring in routes from named range called "hi"
        ListBox1.RowSource = Worksheets("Sheet4").Range("hi").Value
    End If

End Sub

我会根据其他单元格值(例如“嘿”或“怎么了”)多次重复“ if-end if”段。

我不断收到运行时1004错误。帮助!

1 个答案:

答案 0 :(得分:0)

问题在于我将“ Sheet 4”重命名为“ DropDown”,因为这是我存储所有下拉菜单的地方。该代码应显示为:

Private Sub UserForm_Initialize()

'Populate Combobox Based on Cell Value
Dim celltxt As String
celltxt = ActiveSheet.Range("cellTest").Text

    If InStr(1, celltxt, "hi") Then
        'Code to bring in routes from named range called "hi"
        ListBox1.RowSource = Worksheets("DropDown").Range("hi").Value
    End If

End Sub

那很好用!