小编Lea*_*ipt的帖子

谷歌工作表中的脚本用于清除,但不删除过滤器

我在为谷歌表格编写脚本方面是全新的,所以我希望你们中的一些人可以帮助/指导我一点。

所以理想情况下,我想要一个脚本来清除(而不是删除)我的工作表中的所有过滤器。然而,这对我来说很复杂(如果你们中的一些人有这样的脚本,我很想看到它:))

相反,我做了这个(二手录音机):

function Clear_Filter() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('A5').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(1);
  spreadsheet.getRange('B5').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(2);
  spreadsheet.getRange('C5').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(3);
  spreadsheet.getRange('G5').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(7);
  spreadsheet.getRange('J5').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(10);
  spreadsheet.getRange('M5').activate();
  spreadsheet.getActiveSheet().getFilter().removeColumnFilterCriteria(13);
};
Run Code Online (Sandbox Code Playgroud)

所以我的过滤器设置在第 5 行。首先,我对所有列(我有 20 个)进行了上述操作,但问题是,代码非常慢:(所以现在我正在使用我最常使用的列,过滤时,但代码仍然很慢。最糟糕的是,代码一次运行一列(我们在代码中看到),当代码完成时,我最终进入最后一列。

我可以做点什么吗?当我运行代码时,我不希望我的工作表窗口不断右转,然后最终出现在 M 列中。

我将不胜感激任何帮助!谢谢

javascript google-sheets google-apps-script

5
推荐指数
2
解决办法
5298
查看次数

在 VBA 中查找选定区域的最后一行和最后一列

我试图找到我在工作表中选择的区域的最后一行和最后一列。

通常我用它来查找最后一行和最后一列:

LR = Cells(Rows.Count, 1).End(xlUp).Row
LC = Cells(1, Columns.Count).End(xlToLeft).Column
Run Code Online (Sandbox Code Playgroud)

然而,这些行适用于 Row = 1 和 Column = 1。

假设我在其他地方有一张桌子。我想选择表并运行代码。然后我想要以下变量:


FirstRowTable = 
LastRowTable =   
FirstColumnTable = 
LastColumnTable =

Run Code Online (Sandbox Code Playgroud)

我尝试过这样的事情,但它不起作用:

LastRowTable = Selection.Row + Selection.Rows.Count - 1
FirstRowTable = Selection.Row
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

excel vba

0
推荐指数
1
解决办法
8735
查看次数