在VBA中的字段1上添加额外的过滤器

时间:2017-11-20 09:57:40

标签: excel vba excel-vba

我在Excel中使用工作表上的过滤器。我想要做的只是取消选中我的过滤器范围的字段1中的“空单元格”。我知道如何取消选中“空单元格”,但现有的过滤器(由用户制作)必须保持活动状态。

我正在使用代码获取过滤器范围的名称:

Dim obj As ListObject
Dim Tabel As String
Dim filter As Boolean
filter = False
For Each obj In ActiveSheet.ListObjects
    Tabel = obj.Name
    Exit For
Next

用于在未应用过滤器时取消选中“空单元格”的代码:

ActiveSheet.ListObjects(Tabel).Range.AutoFilter field:=1, Criteria1:="<>"

我更喜欢的是字段1中使用的实际过滤器,添加criteria:="<>"做我的事情重新应用用户应用的过滤器。

我在努力:

Dim ActieveFilters As String
Dim FilterArray()
Dim LaatsteFilter As Long
Dim i As Long
With ActiveSheet.ListObjects(Tabel).AutoFilter.Filters(1)
    ReDim FilterArray(1 To .Count)
    For f = 1 To .Count
        With .Item(f)
            If .On Then
                FilterArray(f) = Criteria1
            End If
        End With
    Next f
End With

Active filters

0 个答案:

没有答案