Я все еще новичок в использовании скриптов приложений, и мой опыт ограничен. Я пытался изменить сценарий, который я запустил для аналогичной задачи, но у меня возникли проблемы с его выполнением, с некоторыми изменениями.
Я хочу добиться того, чтобы в столбце Z на вкладке ProspectiveSites было выбрано «Да», чтобы затем переместить столбцы 15 и 24 на июль 2019 года в столбцы А и В и ввести над строкой «Итого». В настоящее время он находится в строке 28, но перемещается вверх или вниз по мере необходимости.
Если это вообще возможно, я бы хотел, чтобы он двигался в зависимости от текущего месяца, то есть сейчас июль, чтобы переместить эту вкладку в июле2019, в августе - в август2019 и т. Д.
Я получаю эту ошибку при попытке запустить скрипт;
Ошибка типа: невозможно прочитать свойство «диапазон» из неопределенного. (строка 3, файл «Код»)
Вот образец
https://docs.google.com/spreadsheets/d/1q2nJ0A-GBqRFxtLl3tTk-AFzYQU-NU5w_gqYt5C4xVs/edit?usp=sharing
function onEdit(e) {
var ss = SpreadsheetApp.getActiveSheet();
if (ss.getName() == 'ProspectiveSites' && e.range.getColumn() ==
26) {
// Copy selected row to another sheet
var targetSheet =
SpreadsheetApp.getActive().getSheetByName('July2019');
var copyColumns = [15, 24]; // Column indices start with 1
if (e.range.getValue() == 'Yes') {
var row = e.range.getRow(),
targetData = [];
var rowData = e.range.offset(0, 0, 1,
ss.getDataRange().getLastColumn()).getValues()[0];
for (var i in rowData) {
if (copyColumns.indexOf(parseInt(i) + 1) > -1) {
targetData.push(rowData[i]);
} else {
targetData.push('');
}
}
while (targetData[targetData.length - 1] == '')
targetData.pop();
Logger.log(rowData);
Logger.log(targetData);
row = targetSheet.getDataRange().getLastRow() + 1;
targetSheet.getRange(row, 1, 1,
targetData.length).setValues([targetData]);
}
}
}
Вся помощь очень ценится
Лучший,
J