如何在Excel 2016中使用VBA获取过滤条件?

我正在使用Excel 2016 VBAmacros将标题栏应用filter。 之后,用户应用过滤条件。 我希望能够在VBA中检索用户应用的过滤条件并将其保存到string数组中。 有没有办法来访问过滤条件?

预先感谢您。

我检查了这个问题 ,几乎复制了代码的第一部分,唯一的是你没有得到它应用于哪个领域可能有问题。

Dim sht As Worksheet Set sht = ActiveSheet With sht.AutoFilter With .Filters ReDim filtarr(1 To .Count, 1 To 3) For f = 1 To .Count With .Item(f) If .On Then filtarr(f, 1) = .Criteria1 Debug.Print .Criteria1 If .Operator Then filtarr(f, 2) = .Operator filtarr(f, 3) = .Criteria2 Debug.Print .Operator & ", " & .Criteria2 End If End If End With Next f End With End With 

代码会是这样的。 字段代码是单元格(1,f)。

 Dim sht As Worksheet Set sht = ActiveSheet With sht.AutoFilter With .Filters ReDim filtarr(1 To .Count, 1 To 4) ' change array For f = 1 To .Count With .Item(f) If .On Then filtarr(f, 1) = .Criteria1 filtarr(f, 4) = Cells(1, f) 'field Debug.Print .Criteria1, Cells(1, f) If .Operator Then filtarr(f, 2) = .Operator filtarr(f, 3) = .Criteria2 Debug.Print .Operator & ", " & .Criteria2 End If End If End With Next f End With End With