Есть ли способ выбрать и удалить только отфильтрованные (видимые) записи через скрипт? - PullRequest
0 голосов
/ 15 марта 2020

В основном я хочу применить один или несколько фильтров, затем выбрать все, что видно, и удалить выбранные строки, все должно быть сделано с помощью скрипта. Однако я нигде не вижу такой опции (в Excel есть специальный go для и выберите только видимый). Например, один сеанс может начинаться со строки 7, я могу записать макрос из строки 7 и ниже ... но если другой набор данных показывает видимую строку, начиная с 2. Как это повлияет? Есть ли простой способ выделить все, что видно?

1 Ответ

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

Попробуйте:

Я не использую фильтры, поэтому я никогда не делал этого раньше, но, возможно, это даст вам начало.

function runOne() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var sr=2;//starting row
  var rg=sh.getRange(sr,1,sh.getLastRow()-sr+1,sh.getLastColumn());
  var vs=rg.getValues();
  var d=0;//deleted row counter
  vs.forEach(function(r,i){
    if(!sh.isRowHiddenByFilter(i+sr-d)) {
      sh.deleteRow(i+sr-d++);
    }
  });
}

isRowHiddenByFilter

deleteRow

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