Сортировка строк по двум столбцам - PullRequest
1 голос
/ 20 марта 2020

У меня есть лист Google, в котором мне нужно отсортировать строки на основе столбца 9, а затем 3, я запустил этот скрипт на других листах с аналогичными параметрами, и он работал (как с onEdit, так и с OnOpen). Я получаю эту ошибку. Ошибка типа: отмените свойство read 'getSheetByName', имеющее значение null (строка 13, файл "Код")

Вот скрипт:

SHEET_NAME = "Railcars Archive";
SORT_DATA_RANGE = "A2:M";       // I have tried M with and without defined rows
SORT_ORDER = [
{column: 9, ascending: true},
{column: 3, ascending: true}
];

function onOpen(e){
  multiSortColumns();
}
function multiSortColumns(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName(SHEET_NAME);
  var range = sheet.getRange(SORT_DATA_RANGE);
  range.sort(SORT_ORDER);
}

Вот лист: https://docs.google.com/spreadsheets/d/1rzwjaSNYNzxwE8ac_QhRmi6d7XKev7ISHLg79VLuMz4/edit#gid = 1374491574

Я не могу предоставить доступ к редактированию, и запросы на него не будут удовлетворены владельцем, но это довольно простой лист. Я не понимаю, почему он не будет работать на этом листе c, так как я запускал этот скрипт на нескольких других без проблем. Я также хотел бы добавить, что у меня нет фона IT / Coding. Просто самоучка, чтобы помочь моей компании автоматизировать графики и тому подобное.

1 Ответ

0 голосов
/ 20 марта 2020

попробовать:

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("Railcars Archive");
var range = sheet.getRange("A2:M");

function onOpen(e)  {
  range.sort([{column: 9, ascending: true}, 
              {column: 3, ascending: true}]);
}

enter image description here

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