Как автоматически выбрать диапазон, не вводя его вручную? - PullRequest
0 голосов
/ 07 сентября 2018

Мне интересно, есть ли способ автоматического выбора диапазона ячеек на основе выбранного фильтра.

Пример: Sample

  • Установить фильтр в (столбец H)
  • Автоматический выбор данных ячейки результата, начиная со столбца A (A2000): столбец C (C5000) и т. Д. --- Здесь я застреваю. Я не знаю, как написать, чтобы автоматически выбрать результат ячейки данных на основе выбранного фильтра.

В настоящее время моя тренировка состоит в том, чтобы вручную войти в ячейку, чтобы я мог перейти к написанию кодов. Я надеюсь, что я имею смысл выше.

---- Код ----

function ColHtoActive() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName('Current');  
  var crange = sheet.getRange('A7:I7350').activate();                                
  var currentCell = sheet.setCurrentCell(sheet.getRange('H7'); 
  var hSfilter = sheet.getRange('A7:I7350').createFilter(); 
  var ccC1 = sheet.getRange('H7').activate();
  var cCriteria = SpreadsheetApp.newFilterCriteria().setHiddenValues('Inactive']).build(); 

  sheet.getFilter().setColumnFilterCriteria(8, cCriteria);    
}

function copycolA() {
  var ss = SpreadsheetApp.getActive().getSheetByName('A');
  ss.getRange('A2307').activate();
  ss.getRange('A2307:A7155').copyTo(
      ss.getActiveRange(),
      SpreadsheetApp.CopyPasteType.PASTE_NORMAL,
      false);
}

1 Ответ

0 голосов
/ 07 сентября 2018

Размеры отфильтрованного диапазона можно получить из getFilter().getRange(). Это скопирует весь отфильтрованный диапазон:

function copycolA() {
  var sourceSheet = SpreadsheetApp.getActive().getSheetByName('Current');
  var targetSheet = SpreadsheetApp.getActive().getSheetByName('A');
  var sourceRange = sourceSheet.getFilter().getRange();
  sourceRange.copyTo(
    targetSheet.getRange('A1'),
    SpreadsheetApp.CopyPasteType.PASTE_NORMAL,
    false);
}

Ссылки:

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