【问题标题】:How to clear filters on cell within range, but not within a table如何清除范围内单元格上的过滤器,但不在表格内
【发布时间】:2019-04-01 16:27:28
【问题描述】:

我正在处理一些大型 Excel 文件,如果它们符合某些条件,主要是删除行并应用格式。要删除的行之一包含一个过滤器,因此在尝试删除 Excel 时会抛出 GeneralException。我知道Excel.Table (here) 的clearFilters() 方法。但是,尝试sheet.tables(在加载和同步之后)显示没有。因此,我一直在使用范围,但是我找不到另一种方法来从除表格之外的单元格/范围中删除过滤器。

有没有办法使用范围清除过滤器?如果有帮助,过滤器始终位于单元格 A1 上。

编辑:我之前没有指定,但我是用 React/Typescript 编写的,而不是 VBA。

【问题讨论】:

  • 一般来说,我会说任何抛出“GeneralException”的 API 都可能有一个总体问题。因此,请随时在github.com/OfficeDev/office-js/issues 提交错误,产品团队的人应该能够注意到它。

标签: excel reactjs typescript office-js office-addins


【解决方案1】:

我认为您希望清除工作表上的所有过滤器。如果是这样,这适用于整个工作表:

If Sheets("YourSheetName").FilterMode = True Then
    Sheets("YourSheetName").ShowAllData
End If

这首先检查是否设置了任何过滤器,否则会出错。

【讨论】:

  • 感谢雷伊的回答。我没有指定我使用什么来编写插件,所以这是我的错,但我没有使用 VBA。我是用 React/Typescript 写的,所以这些方法不可用
猜你喜欢
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 1970-01-01
  • 1970-01-01
  • 2018-08-09
相关资源
最近更新 更多