Как скрыть строки на основе текущей выбранной ячейки?

#google-apps-script #google-sheets

#google-apps-script #google-sheets

Вопрос:

Как скрыть строки на основе текущей выбранной ячейки? Мне всегда нужно скрыть 4 строки с 5-й строки вниз на основе выбранной ячейки.

Я попытался создать следующий код:

 function hidelines() {
  var ss = SpreadsheetApp.getActive();
  ss.getActiveRange().getNumRows();
  ss.getActiveSheet().hideRows(10, 4);
};
 

Но он всегда прячется от 10-й линии. Есть ли какой-нибудь способ основываться на выбранной ячейке? Пример: если я нахожусь в строке 19, скройте строки с 23 по 26? Смотрите, он обнаружил, что я нахожусь на 19-й строке, отсчитал 5 строк вниз и спрятал 4 строки.

Ответ №1:

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

 function hideFourFromFifth() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var cell=sh.getActiveCell();
  var row=cell.getRow();
  sh.hideRows(row   5, 4);
}
 

Этот может быть более полезным:

 function hideRowsFromOffset(offset,rows) {
  var offset=offset || 4;//if you're on 19 this will hide 23 to 26
  var rows=rows || 4;
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var cell=sh.getActiveCell();
  var row=cell.getRow();
  sh.hideRows(row   offset, rows);
}