Google Таблицы: активируйте множественный выбор, когда диапазон основан на длине данных - PullRequest
0 голосов
/ 13 июля 2020

Следующий код активирует диапазон в столбцах от G до I из строки 4. Конечная строка зависит от длины данных в столбце B.

function seleziona() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  SpreadsheetApp.setActiveSheet(ss.getSheetByName('Sheet1'));
  var sheetActive = SpreadsheetApp.getActiveSpreadsheet();
  var sheetActive = SpreadsheetApp.getActiveSheet();
  var Avals = sheetActive.getRange("B4:B").getValues();
  var Alast = Avals.filter(String).length;
  sheetActive.getRange(4, 7, Alast, 3).activate();
}

Я бродил, если там - это способ иметь множественный выбор (например, с помощью getRangeList), который берет выбор из приведенного выше кода + следующий диапазон: getRange (358, 7, 8, 3)

1 Ответ

1 голос
/ 13 июля 2020

Я считаю, что ваша цель следующая.

  • Вы хотите активировать диапазон sheetActive.getRange(4, 7, Alast, 3) и sheetActive.getRange(358, 7, 8, 3), используя список диапазонов.

В этом случае , как простая модификация, как насчет следующей модификации?

От:

sheetActive.getRange(4, 7, Alast, 3).activate();

Кому:

var rangeList = [
  sheetActive.getRange(4, 7, Alast, 3).getA1Notation(),
  sheetActive.getRange(358, 7, 8, 3).getA1Notation(),
];
sheetActive.getRangeList(rangeList).activate();

Примечание:

  • Если вы хотите активировать диапазон «Sheet1», вы также можете использовать следующий модифицированный скрипт.

      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheetActive = ss.getSheetByName('Sheet1');
      var Avals = sheetActive.getRange("B4:B").getValues();
      var Alast = Avals.filter(String).length;
      var rangeList = [
        sheetActive.getRange(4, 7, Alast, 3).getA1Notation(),
        sheetActive.getRange(358, 7, 8, 3).getA1Notation(),
      ];
      sheetActive.getRangeList(rangeList).activate();
    

Ссылки:

...