Как я могу заставить макрос автоматически срабатывать, когда ячейка достигает определенного значения в Google Sheet? - PullRequest
0 голосов
/ 06 января 2019

Мне нужно, чтобы записанный мной макрос SwitchHotSeat срабатывал, когда значение ячейки F3 превышает £ 1,000,000.00 0r 1000000 или значение LEN ячейки F3 превышает эту длину.

Я могу найти руководства для этого в Excel, но не для Google Sheets. ниже приведен код моего макроса.

function SwitchHotSeat() {
  var spreadsheet = SpreadsheetApp.getActive();
      spreadsheet.getRange('3:3').activate();

 spreadsheet.getActiveSheet().deleteRows(spreadsheet.getActiveRange().getRow(), spreadsheet.getActiveRange().getNumRows());
  spreadsheet.getActiveRangeList().setBackground('#ff0000')
  .setFontColor('#ffffff');
};

Макрос работает отлично. Мне просто нужен способ вызвать его, когда эта ячейка превысит 1000000.

Ответы [ 2 ]

0 голосов
/ 10 января 2019

На всякий случай, если это поможет кому-то еще с подобной проблемой, я обнаружил (путем регистрации), что он возвращал объект, а не число раньше, поэтому в конце следующий код работал нормально.

function onFormSubmit(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
   var millionaire24 = ss.getSheetByName('Millionaire24.');
    var cellValue = millionaire24.getRange(3,6,1,1).getValues();
  Number(cellValue)
if(cellValue[0] >= 1000000)switchHotSeat();


}
0 голосов
/ 07 января 2019

Вы можете использовать простые или устанавливаемые триггеры. Смотри

Пример использования простого триггера onEdit

function onEdit(e){
  if(/* add here your conditions */) {
     SwitchHotSeat();
  }
}

ПРИМЕЧАНИЕ: при редактировании и при изменении триггеры срабатывают только тогда, когда пользователь редактирует электронную таблицу.

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