首页 > 解决方案 > Excel VBA,切片器 - 如何使用 vba 从 excel 切片器中的一千个项目中选择一项?

问题描述

让我们想象一下,我们有一个包含 1000 多个项目的切片器,并且它每天都在增长。我正在寻找一种解决方案,我只能从一千个项目中选择一项,而无需滚动并找到我想要的项目。我看到的方式就像一个切换开关,您可以在其中打开/关闭特定项目。当您打开时 - 仅选择该项目;当您关闭时 - 切片器过滤器被清除。

我试图记录宏,但它将是一千行代码,其中切片器项目被触发为 True 或 False,鉴于列表每天都在增长,我认为这不会起作用。

感谢您的支持!

托尼

标签: excelvbaslicers

解决方案


可能下面的代码很有用,你也可以举个例子。

Sub TestFilter()
    Const FilterCol1 = 4 '........... Your target column
    Const Criteria1 = "something" '.. Your target value
    Dim LastRow As Integer
    Dim LastCol As String

    On Error Resume Next
    ActiveSheet.ShowAllData
    On Error GoTo 0

    With ActiveSheet
        LastRow = .Range("A" & .Rows.Count).End(xlUp).row
        LastCol = Split(.Range("A1").End(xlToRight).Address, "$")(1)
        .Range("A1" & ":" & LastCol & LastRow).AutoFilter field:=FilterCol1, Criteria1:=Criteria1
    End With
End Sub

推荐阅读