我在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
干杯!
答案 0 :(得分:0)
解决方案涉及在填充框后在代码中添加一行。为输入干杯:)
Worksheets("DMA list").Shapes("DMA_listbox").ControlFormat.MultiSelect = xlSimple