VBA启用列表框中的多个选择

时间:2015-03-18 12:32:50

标签: excel vba excel-vba listbox

我在Excel中创建了一个列表框,该列表框由另一个工作表中的列表填充,如下所示。我想知道是否有一种方法可以从列表中启用多个选择,这样我就可以使用多个选择来填充新列并根据它们运行一些过滤器。

Sub FilterUniqueData()
    Dim Lrow As Long, test As New Collection
    Dim Value As Variant, temp() As Variant
    ReDim temp(0)
    Dim Value1 As Variant

    On Error Resume Next
    With Workbooks("Copy of SWR1304 (Future Development Risk Assessment) Strathaven.xls").Sheets("Non Household Metered Users")
        'Lrow = .Range("a" & Rows.count).End(xlUp).Row
    temp = .Range("h:h").Value
    End With


For Each Value In temp
    If Len(Value) > 0 Then test.Add Value, CStr(Value)
Next Value

    ReDim temp(0)
    Workbooks("DMA_metered_tool.xlsm").Worksheets("DMA list").Shapes("DMA_listbox").ControlFormat.RemoveAllItems

    For Each Value In test
         Worksheets("DMA list").Shapes("DMA_listbox").ControlFormat.AddItem Value
    Next Value

    Set test = Nothing

'Workbooks("DMA_metered_tool.xlsm").Worksheets("DMA list").Shapes("DMA_listbox").ControlFormat.List = Workbooks("Copy of SWR1304 (Future Development Risk Assessment) Strathaven.xls").Sheets("Non Household Metered Users").Range("h:h").Value
End Sub

干杯!

1 个答案:

答案 0 :(得分:0)

解决方案涉及在填充框后在代码中添加一行。为输入干杯:)

Worksheets("DMA list").Shapes("DMA_listbox").ControlFormat.MultiSelect = xlSimple