@PiShim

Как изменить условие в скрипте для удаление строки по условию?

Есть скрипт, который удаляет выделенную строку чекбоксом при изменении данных с False на True в первом столбце A. То есть, при выделении чекбокса в ячейке A1 удаляется строка 1, при выделении ячейки A2 удаляется строка 2 итд. Теперь суть проблемы, есть скрипт при котором изменение данных в столбце A удаляют строку. Помогите изменить скрипт, так чтобы заместо столбца А заменить его на столбец W.
function onEdit(e) {
  Logger.log(e);
  Logger.log(e.value);
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetS = ss.getSheets()[2];
  var sheetD = ss.getSheets()[3];
  var lastColumn = sheetS.getLastColumn();
  var lastRow = sheetD.getLastRow();
  if (e.value === 1) {
    var range = e.range;
    var row = range.getRow();
    Logger.log(row);
    var val = sheetS.getRange(row, 1, 1, lastColumn).getValues();
    sheetD.getRange(lastRow + 1, 1, 1, lastColumn).setValues(val);
    sheetS.deleteRow(row);
  }
}
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
oshliaer
@oshliaer Куратор тега Google Sheets
Google Products Expert
Код довольно странный, и его трудно к чему-то привязать, но самое простое - это

function onEdit(e) {
  Logger.log(e);
  Logger.log(e.value);
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheetS = ss.getSheets()[2];
  var sheetD = ss.getSheets()[3];
  var lastColumn = sheetS.getLastColumn();
  var lastRow = sheetD.getLastRow();
  if (e.range.getColumn() == 23 && e.value == 1) {
    var range = e.range;
    var row = range.getRow();
    Logger.log(row);
    var val = sheetS.getRange(row, 1, 1, lastColumn).getValues();
    sheetD.getRange(lastRow + 1, 1, 1, lastColumn).setValues(val);
    sheetS.deleteRow(row);
  }
}


См. if (e.range.getColumn() == 23 && e.value == 1) {
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы