通常在尝试弄清楚如何在VBA中访问对象的值或属性时,我可以打开Locals窗口并查看相关对象的子项并向下钻取,直到找到值I'我正在寻找。例如,如果我想获得一个名为listrow的第二个单元格/列,通过本地窗口进行简单搜索会显示类似
的内容selectedRow.Range.Value2(1, 2)
应该给我答案。
所有这一切都是真的,为什么不像下面这样的陈述?
table.AutoFilter.Filters.Item(1).On = False
假设我想从集合表对象的第一列中删除过滤器,那么前面的语句应该起作用,至少根据Locals Window和Excel VBA文档。或类似的东西:
table.AutoFilter.Filters.Item(3).Criteria1 = "SearchString"
我应该让我更新表格第三栏的标准。它清楚地标记了本地窗口中填充的值,VBA编辑器愉快地提供自动完成的每个级别,同时键入它,然后在“自动筛选”之后的每个级别。尝试运行时抛出错误。
那么,如果您不能使用它们,为什么会提供/建议这些属性?我错过了什么?
答案 0 :(得分:0)
对于Excel 2010和2013,AutoFilter.Filter.Ttem.On
属性是只读的。所以这回答了你的第一个问题。
http://msdn.microsoft.com/en-us/library/office/ff197843%28v=office.15%29.aspx
AutoFilter.Filter.Ttem.Criteria1
属性也是如此。哪个回答第二个。
(之前我还不知道这些事情,所以感谢您的提问。)