Создание формы, которая позволяет вам выбрать, на каких листах вы хотите запустить макрос - PullRequest
1 голос
/ 30 сентября 2019

У меня есть некоторые системные выдержки, которые содержат несколько десятков листов в идентичных форматах. Чтобы лучше представлять данные с каждого листа, я хотел бы создать простые сводные таблицы для нескольких (не всех) листов.

Я создал простой макрос, который извлекает данные ключа из листа в таблицу. Мне бы хотелось, чтобы я мог выбирать, на каких листах я хочу запустить макрос, например, с помощью флажков в форме. Любые идеи о том, как это можно сделать?

1 Ответ

0 голосов
/ 30 сентября 2019

Вы можете включить триггер onEdit , который будет срабатывать при выборе каждого флажка.

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

Пример:

function onEdit(e) {
  var checkboxColumnIndex=1: //as a sample
  //if the edited cell is your checkbox column and the box status was changed from unchecked to checked
  if(e.range.getColumn()==checkboxColumnIndex2&&e.range.getValue()==true){
   var checkboxRow=e.range.getRow());
   var sheetIndex=checkBoxRow();
   var sheet=SpreadsheetApp.getActiveSpreadsheet().getSheets()[sheetIndex];
  //do what you wnat with this sheet
  }
}

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

...