我正在处理一段VBA代码,该代码应保存并恢复Excel中当前的自动筛选状态。我已经使用the code here了很长一段时间,没有任何问题,但是现在我遇到了相当严重的问题。让我说明一下...
假设您有一个(非常简单的)带有日期过滤功能的表设置:
如果您希望获得以编程方式使用的过滤条件,它将失败:
我在Excel 2010中正在发生这种情况。有人知道解决方法吗?
Microsoft TechNet上其他人描述的相同问题的链接:Excel VBA AutoFilter criteria when Operator is xlFilterValues for Dates这指向Jon von der Heyden's site作为解决方案,但该网站提到:
最佳答案
存储自动过滤器状态(包括日期过滤器的树 View 选择)的另一种方法是使用自定义 View 。
'[whatever code you want to run before capturing autofilter settings]
wkbExample.CustomViews.Add ViewName:="cvwAutoFilterSettings", RowColSettings:=True
'[whatever code you want to run with either your autofilter or no autofilter]
wkbExample.CustomViews("cvwAutoFilterSettings").Show
wkbExample.CustomViews("cvwAutoFilterSettings").Delete
'[whatever code you want to run after restoring original autofilter settings]
Original post by Cyious但是,要使其工作,必须满足三个条件:
奖励:列宽,卡住 Pane 位置和窗口内的范围位置也存储在自定义 View 中。
关于vba - 尝试获取日期筛选的自动筛选条件时出现错误1004,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22307045/