Вот сценарий в Google Таблицах, который я пытаюсь запустить ...
Не могли бы вы дать совет по поводу этой ошибки?
function myFunction() {
//IF target range D23 is edited...
//
if (range.getRow()!=23 || range.getColumn()!=4) return;
//Set B23 to current date and time
//
range.offset(0,-2,1,1).setValue(new Date());
//Clear range B37:T37
//
range.offset(14,-2,1,19).clearContent();//<<<not really necessary
//Copy range B23:T36
//Paste to range B24:T37
//
range.offset(0,-2,14,19).copyTo(range.offset(1,0));
//Clear range B23:T23
range.offset(0,0,1,19).clearContent();
}
Это похоже на функцию onEdit, но параметр события не включен. Диапазон - e.range.





Возможно, ваша функция должна выглядеть примерно так:
function myFunction(e) {
if (e.range.getRow()!=23 || e.range.getColumn()!=4) return;
e.range.offset(0,-2,1,1).setValue(new Date());
e.range.offset(14,-2,1,19).clearContent();
e.range.offset(0,-2,14,19).copyTo(e.range.offset(1,0));
e.range.offset(0,0,1,19).clearContent();
}
В этой строке
if (range.getRow()!=23 || range.getColumn()!=4) return;
Вы пытаетесь получить строку и столбец из переменной диапазона, но вы этого не определили.
Вот почему он выдает эту ошибку.
Вы должны определить range, прежде чем пытаться его использовать.
Если вы запускаете эту функцию на основе некоторого триггера, возможно, вы можете получить диапазон из объекта события, подобного этому
function functionName(eventObject) {
var range = eventObject.range;
//Your other code follows below
}
В противном случае вы также можете использовать: getRange()
Рекомендации :
https://developers.google.com/apps-script/reference/spreadsheet/sheet#getrangerow-column
https://developers.google.com/apps-script/guides/triggers/events
В какой строке происходит ошибка?