Как получить примечание нескольких строк в Google Sheets - PullRequest
0 голосов
/ 30 марта 2020

У меня есть мастер-лист, где пользователь выбирает строки для «резервирования». Мой код до сих пор:

var selectedRow = ss.getActiveRange().getRow();
var mySelection = master.getSelection();
var myRange = mySelection.getActiveRangeList().getRanges();

for ( var i = 0; i < myRange.length; i++) {
    var reserveData = myRange[i].getValues()
} 

var numRows = myRange.length

if (numRows = 1) //one row selected { 
      a1notation = "A" + selectedRow + ":" + "U" + selectedRow;
      headers = master.getRange(1, 1, 1, 21);
      newRange = master.getRange(a1notation);
      //copy headers
      headers.copyTo(resSheet.getRange(1, 1));
} else if (numRows >= 2) //multiple rows selected {
      a1notation = "A" + selectedRow + ":" + "U" + ( ??? );  
      }

Я не уверен, как получить другие выбранные строки. Все они могут быть смежными или несмежными (если это имеет значение). Любая помощь будет принята с благодарностью.

добавлено

a1notation = "A" + selectedRow + ":" + "U" + selectedRow;
newRange = master.getRange(a1notation);
newRange.copyTo(resSheet.getRange(resSheet.getLastRow() + 1, 1));

1 Ответ

1 голос
/ 30 марта 2020

Используйте map, чтобы получить все нотации a1:

const a1nots = mySelection.getActiveRangeList().getRanges().map(range=>range.getA1Notation());
console.log(a1nots);

Кроме того, myRange.length даст число диапазонов в этом выборе, а не количество строк в каждом диапазоне.

Ссылки:

Выбор класса

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