Google Sheet 脚本:具有过滤掉的行的范围不支持此操作
Google Sheet Script : This operation is not supported on a range with a filtered-out row
这是我的问题:
我下面的代码因为以下行而不起作用:current.uncheck();
并且日志显示:“具有过滤掉的行的范围不支持此操作。”
但是这个sheet不应该包含过滤器,我也尝试删除潜在的过滤器但没有成功。
if(current.isChecked()) // If the check box is checked
{
// I put some data in a array :
var arraySupport = rangeColumnToArray(ss.getSheetByName("import_support").getRange("A1:A15"))
var dataSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Copy of Data Bank");
// I change criteria filter on other sheet :
var criteriaSupport = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(arraySupport)
.build();
dataSheet.getFilter().setColumnFilterCriteria(24, criteriaSupport);
ss.getRange("G5:G").clearContent(); // clear eventual content
copyExo(); // This fonction copy one column from the filtered sheet (dataSheet) on activeSheet
activeSheet.getFilter().remove(); // I try that without success
current.uncheck(); // And I try to uncheck the checkbox
}
感谢您为我提供的所有帮助。
虽然我不确定 current
和 if 语句中使用的范围之间的关系,但为了工作 current.uncheck()
,我想提出以下修改。
修改后的脚本:
if(current.isChecked()) // If the check box is checked
{
current.uncheck(); // <--- "current.uncheck();" at the last line in this function is moved to here.
// I put some data in a array :
var arraySupport = rangeColumnToArray(ss.getSheetByName("import_support").getRange("A1:A15"))
注:
- 虽然我不确定
copyExo()
的详细脚本,但我认为在你的脚本中,如果 current
在你的 if 语句中的脚本中没有更改,current.uncheck()
在最后一行有效。例如,当你想确认它时,在脚本的每一行都加上 if (current) console.log(current.getA1Notation())
怎么样?这样,当current
的值改变时,你可以在日志中看到它。
这是我的问题:
我下面的代码因为以下行而不起作用:current.uncheck();
并且日志显示:“具有过滤掉的行的范围不支持此操作。”
但是这个sheet不应该包含过滤器,我也尝试删除潜在的过滤器但没有成功。
if(current.isChecked()) // If the check box is checked
{
// I put some data in a array :
var arraySupport = rangeColumnToArray(ss.getSheetByName("import_support").getRange("A1:A15"))
var dataSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Copy of Data Bank");
// I change criteria filter on other sheet :
var criteriaSupport = SpreadsheetApp.newFilterCriteria()
.setHiddenValues(arraySupport)
.build();
dataSheet.getFilter().setColumnFilterCriteria(24, criteriaSupport);
ss.getRange("G5:G").clearContent(); // clear eventual content
copyExo(); // This fonction copy one column from the filtered sheet (dataSheet) on activeSheet
activeSheet.getFilter().remove(); // I try that without success
current.uncheck(); // And I try to uncheck the checkbox
}
感谢您为我提供的所有帮助。
虽然我不确定 current
和 if 语句中使用的范围之间的关系,但为了工作 current.uncheck()
,我想提出以下修改。
修改后的脚本:
if(current.isChecked()) // If the check box is checked
{
current.uncheck(); // <--- "current.uncheck();" at the last line in this function is moved to here.
// I put some data in a array :
var arraySupport = rangeColumnToArray(ss.getSheetByName("import_support").getRange("A1:A15"))
注:
- 虽然我不确定
copyExo()
的详细脚本,但我认为在你的脚本中,如果current
在你的 if 语句中的脚本中没有更改,current.uncheck()
在最后一行有效。例如,当你想确认它时,在脚本的每一行都加上if (current) console.log(current.getA1Notation())
怎么样?这样,当current
的值改变时,你可以在日志中看到它。