Когда я открываю свой лист, следующей функции требуется до 30 минут для вычисления всех ячеек. Поэтому я пытаюсь установить таймер для запуска этого скрипта каждый час, поэтому при открытии листа мне не нужно ждать 30 минут.
/**
* @param {A1:A2} countRange Range to be evaluated
* @param {A1} colorRef Cell with background color to be searched for in countRange
* @return {number}
* @customfunction
*/
function countColoredCells(countRange,colorRef) {
var activeRange = SpreadsheetApp.getActiveRange();
var activeSheet = activeRange.getSheet();
var formula = activeRange.getFormula();
var rangeA1Notation = formula.match(/\((.*)\;/).pop().replace(/\s/g, "");
var range = activeSheet.getRange(rangeA1Notation);
var bg = range.getBackgrounds();
var values = range.getValues();
var colorCellA1Notation = formula.match(/\;(.*)\)/).pop().replace(/\s/g, "");
var colorCell = activeSheet.getRange(colorCellA1Notation);
var color = colorCell.getBackground();
var count = 0;
for(var i=0;i<bg.length;i++)
for(var j=0;j<bg[0].length;j++)
if( bg[i][j] == color )
count=count+1;
return count;
}
Теперь, когда используется таймер, я получаю следующую ошибку:
, пожалуйста, сначала выберите активный лист. at countColoredCells (CountColor: 9)
Как я могу решить эту проблему?