Создать / изменить отметку даты каждый раз, когда ячейка изменяется - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь выяснить, как создавать штампы даты, которые получают изменения каждый раз, когда в ячейке производится изменение. Я также очень новичок в Google App Script (все должны с чего-то начинать).

Я нашел следующий код о том, как создать отметку даты:

function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
if( s.getName() == "Test" ) { //checks that we're on Sheet1 or not
var r = s.getActiveCell();
if( r.getColumn() == 8 ) { //checks that the cell being edited is in column A
var nextCell = r.offset(0, -1);
if( nextCell.getValue() === '' ) //checks if the adjacent cell is empty or not?
nextCell.setValue(new Date());
}
}
}

, которые работают для добавления отметка даты в столбце G для любых данных, заполненных в столбце H.

Но если я хочу изменить данные в H2 для любого значения, дата в G2 останется прежней.

Любой может вносите предложения, пожалуйста.

1 Ответ

0 голосов
/ 27 апреля 2020

Ваш код включает условие if( nextCell.getValue() === '' )

Это означает, что отметка времени будет установлена, только если nextCell (ячейка в столбце G) пуста

Если вы хотите, чтобы отметка времени обновляется каждый раз значение в столбце H изменяется - уберите это условие.

Итак:

function onEdit() {
  var s = SpreadsheetApp.getActiveSheet();
  if( s.getName() == "Test" ) { //checks that we're on Sheet1 or not
    var r = s.getActiveCell();
    if( r.getColumn() == 8 ) { //checks that the cell being edited is in column A
      var nextCell = r.offset(0, -1);
      nextCell.setValue(new Date());
    }
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...