我在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