繁体   English   中英

将切片器添加到 VBA 用户窗体中

[英]Add slicer into VBA UserForm

我想知道如何在 excel 2016 中创建数据透视表后将切片器插入到用户窗体中。

插入切片器意味着可点击切片器,而不是图像..

谁能告诉我一些示例 vba 代码? 提前致谢

在此处输入图片说明

你现在一定已经实现了你想做的事,但无论如何......

以某种方式创建唯一数据作为范围或数组,并在初始化表单时将它们放入 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM