[英]Add slicer into VBA UserForm
你现在一定已经实现了你想做的事,但无论如何......
以某种方式创建唯一数据作为范围或数组,并在初始化表单时将它们放入 ListBox。 或者尝试将每一行添加到 ListBox 中,同时检查它还没有在那里。
我通过将范围复制到新创建的工作表来避免后者或任何计数,因为我的数据可能很大。 所以我使用了 RemoveDuplicates 方法。
您还可以对非表数据使用 Advancedfilter。
*根据您的范围调整范围
Private Sub UserForm_Initialize()
Application.DisplayAlerts = False
Dim i As Long
ThisWorkbook.Worksheets("Sheet1").ListObjects(1).ListColumns(3).Range.Copy ''my table#1's column3
Sheets.Add.Visible = False
With ActiveSheet.Previous
.Range("A1").PasteSpecial
.Range("A1").CurrentRegion.RemoveDuplicates 1, xlYes
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
ListBox1.AddItem .Cells(i, 1)
Next i
.Delete
End With
Application.DisplayAlerts = True
End Sub
然后,您可以使用在 ListBox 上选择的内容设置自动过滤器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.