Как добавить столбец над ячейками - PullRequest
2 голосов
/ 21 октября 2019

В настоящее время я использую редактор скриптов листов Google, чтобы добавить дату в ячейку A2 при редактировании значения B2.

Как добавить новый столбец выше, если автоматический ввод A2 является первымда месяца?

Пожалуйста, смотрите скриншот.

y

Вот что у меня сейчас.

function onEdit(e){
  var active = e.range;
  //ADD DATE
  if(active.getA1Notation().substring(0,1) == 'B' && SpreadsheetApp.getActiveSheet().getName() !== 'Inventory'){
    if(active.isBlank()){
      active.offset(0, -1).setValue("");
    }else{
      active.offset(0, -1).setValue(Date());
    }
  }

Любые указания относительно того, где я могу продолжить, будут хорошими. У меня нет никаких подсказок, если это вообще возможно.

1 Ответ

1 голос
/ 21 октября 2019

Добавление строки выше отредактированной ячейки, если это 1 число месяца, приведет к добавлению строки выше каждой строки , добавленной в 1-й день месяца, что не является желаемым поведением. Вам нужно будет проверить значение в предыдущей строке, чтобы определить, следует ли добавить строку. Используйте sheet.insertRowsBefore для добавления строк. Вот пример кода:

function onEdit(e) {
  var value = e.range.getValue()
  if (value == 'add') {
    var rowNum = e.range.getRow()
    SpreadsheetApp.getActiveSheet().insertRowsBefore(rowNum, 1)
    SpreadsheetApp.getActiveSheet().getRange(rowNum,1).setValue('added row')
  }
}

before edit

after edit

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