На триггере редактирования - когда вводится «x» и когда «x» удаляется в ячейке - PullRequest
0 голосов
/ 24 сентября 2019

Я создал кусок кода на листе, где люди отмечают «х», если они не могут пройти обучение.Это сделано в листах Google, и делает отметку времени, когда они нажимают «x».

Что мне нужно, это триггер onedit, который активируется, когда набирается «x» и когда «x» iудалено в ячейке.

function onEdit(e) {
var sheet = e.source.getActiveSheet();
if (sheet.getName() ==
"Mandagstræning","Tirsdagstræning","Torsdagstræning","Holdkamp") {
var actRng = sheet.getActiveRange();
var editColumn = actRng.getColumn();
var rowIndex = actRng.getRowIndex();
var headers = sheet.getRange(1, editColumn, 1,
sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf("Tid") + editColumn;
if (sheet.getRange(rowIndex, orderCol).getValue() === "x") {
sheet.getRange(rowIndex, dateCol).setValue(Utilities.formatDate(new
Date(), "UTC+8", "dd-MM-yyyy HH.mm.ss"));
}

Надеюсь, что кто-то может помочь!

1 Ответ

0 голосов
/ 25 сентября 2019

Попробуйте этот скрипт

function onEdit(e) {
var sheet, watchCol, dateCol, sheetInd;
sheet = e.source.getActiveSheet();
watchCol = 2;
dateCol = 6;
sheetInd = ["Mandagstræning", "Tirsdagstræning", "Torsdagstræning", "Holdkamp"].indexOf(sheet.getName());
if (sheetInd > -1 && e.range.columnStart === watchCol && e.range.rowStart > 1) {
    sheet.getRange(e.range.rowStart, dateCol).setValue(e.value == 'x' ? Utilities.formatDate(new Date(), "UTC+8", "dd-MM-yyyy HH.mm.ss") : null);
}
}

Измените var watchCol и dateCol в соответствии с вашими требованиями.В этом примере сценария будет помещена метка времени в столбце 6 (dateCol), когда в столбце 2 (watchCol) введен символ «x», но только на вышеупомянутых листах.Надеюсь, это поможет?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...