#google-apps-script #google-sheets #google-forms
Вопрос:
Цель, которую я пытаюсь достичь, состоит в том, чтобы сравнить все значения в столбце, и если значение НЕ пустое, переместите всю строку на другой лист и удалите строку с первого листа. Я очень новичок в этом, и я знаю, что мой код неполон для достижения цели, но пока это то, что у меня есть:
function onEdit(event) {
const ss = SpreadsheetApp.getActiveSpreadsheet();
const row = event.range.getRow();
const col = event.range.getColumn();
const as = event.source.getActiveSheet();
const numColumns = as.getLastColumn();
const targetSheet = ss.getSheetByName("Sheet2");
const target = targetSheet.getRange(targetSheet.getLastRow() 1, 1);
if(as.getName() == "Form Responses 1" amp;amp; as.getRange(row,19) == "") {
as.getRange(row, 1, 1, numColumns).moveTo(target);
//as.deleteRow(row);
}
}
Ответ №1:
function onEdit(e) {
const sh = e.range.getSheet();
if (sh.getName() == "Form Responses 1" amp;amp; sh.getRange(e.range.rowStart, 19).getValue() != "") {
const tsh = ss.getSheetByName("Sheet2");
const trg = tsh.getRange(tsh.getLastRow() 1, 1);
sh.getRange(e.range.rowStart, 1, 1, sh.getLastColumn()).copyTo(trg);
}
}
Тогда вы, вероятно, тоже не сможете удалить
Комментарии:
1. Я получаю сообщение об ошибке: «Исключение: не удается вырезать данные из формы. Используйте вместо этого копирование» Есть какая-нибудь помощь?