Как ограничить OnEdit (e) диапазоном? - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь отсортировать диапазон листа по столбцу J (10), но хочу, чтобы он сортировался только при редактировании ячеек между N9 и AG190.

В настоящее время любое редактирование в любом месте вызывает сортировку, и это не так.

Я собрал следующее, но на самом деле понятия не имею, что делаю

function myFunction() {

}

function onEdit(event){
  var sheet = event.source.getActiveSheet();
  var editedCell = sheet.getActiveCell();

  var columnToSortBy = 10;
  var startColumn = 14;
  var endColumn = 33;
  var tableRange = "a9:cq188";

  if((editedCell.getColumn() <= endColumn || editedCell.getColumn() >= startColumn)) {   
    var range = sheet.getRange(tableRange);
   range.sort( { column : columnToSortBy, ascending: false } );
  }
}

Первый раз здесь, спасибо за любую помощь

1 Ответ

1 голос
/ 05 апреля 2019

попробуйте это:

function onEdit(e){
  //if(e.range.getSheet().getName()!='DesiredSheet Name')return;//you might want to put something like this in here to limit its operation to a single sheet
  if(e.range.columnStart>=14 && e.range.columnStart<=33 && e.range.rowStart>=9 & e.range.rowStart<=190) {   //N9 and AG190
    e.range.getSheet().getRange("A9:CQ188").sort({column:10,ascending:false});
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...