我需要帮助来优化我用来隐藏名为Calculation的工作表中的行的脚本。它运行得相当慢。
脚本遍历名为RangeCalculation的范围内的所有行,并且根据行中的4个不同单元格的内容(第1,2,4和10列),它会隐藏或显示该行。
我的直觉告诉我,有一种方法可以写入一个数据串,其中包含要隐藏的所有单元格,然后通过一次调用将它们全部隐藏起来,而不是为每一行执行hide / unhide opertion - 但我的Java天赋是不足。
任何?
// HIDE ROWS IN CALCULATION SHEET
function hideRowsCalc() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Calculation");
var currentRange = ss.getRangeByName("RangeCalculation");
var rangeStart = currentRange.getRow();
var rangeEnd = currentRange.getLastRow();
for (i = rangeStart; i < rangeEnd+1; i++) {
if (sheet.getRange(i,1).getValue() == "" && sheet.getRange(i,3).getValue() == "" && sheet.getRange(i,4).getValue() == "" && sheet.getRange(i,10).getValue() == "") {
sheet.hideRows(i,1)
}
else {
sheet.showRows(i,1)
}
}
}