【发布时间】:2014-08-01 00:29:25
【问题描述】:
通常当试图弄清楚如何在 VBA 中访问对象的值或属性时,我可以打开局部变量窗口并查看相关对象的子对象并向下钻取,直到找到我正在寻找的值为了。例如,如果我想获取命名列表行的第二个单元格/列,则通过本地窗口进行简单搜索会发现类似
selectedRow.Range.Value2(1, 2)
应该给我答案。
既然都是真的,为什么像下面这样的陈述不起作用?
table.AutoFilter.Filters.Item(1).On = False
假设我只想从设置表对象的第一列中删除过滤器,至少根据 Locals Window 和 Excel VBA 文档,前面的语句应该有效。或者类似的东西:
table.AutoFilter.Filters.Item(3).Criteria1 = "SearchString"
应该让我更新表格中第三列的条件。它清楚地标明了本地窗口中填充的值,VBA 编辑器在键入时很高兴地在自动完成中提供每个级别,但在尝试运行时,“自动过滤”之后的每个级别都会引发错误。
那么,如果您不能使用这些属性,为什么还要提供/建议这些属性呢?我错过了什么?
【问题讨论】:
标签: excel filtering excel-2013 vba