Скрипт работает, но только на одной таблице - PullRequest
0 голосов
/ 13 октября 2018

Мой скрипт работает, для первого листа моей образца электронной таблицы .Но это не работает для других листов в моей книге, даже если Logger.log(sheet.getName()) успешно выбирает имя листа, который в данный момент редактируется.Это довольно простая проблема, я просто не могу понять, почему это работает только для одного из моих листов.

function onEdit (e) {
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var sheet = ss.getActiveSheet()
      Logger.log(sheet.getName())
      if (e.range.getA1Notation() === 'C19' && e.value == 'TRUE') {
        sheet.getRange('K2:K89').setNumberFormat("0.00oz")
      }
        else if (e.range.getA1Notation() === 'C19' && e.value == 'FALSE'){
          sheet.getRange('K2:K89').setNumberFormat("0.00g")
        }

1 Ответ

0 голосов
/ 13 октября 2018

В 'Loadout Picker' значения C19 равны ИСТИНА / ЛОЖЬ

В 'Copyout Loadout Picker 2.0' значения C19 равны 1/0

В скрипте в ваших циклах if у вас есть C19== «ЛОЖЬ» / «ИСТИНА»

В этом проблема.Просто переделайте новый флажок в ячейке C19 в «Copy of Loadout Picker 2.0», и он сбросит значения C19 в TRUE / FALSE с 1/0.(Не забудьте снова присоединиться к электронной таблице или просто переключаться между листами, чтобы код начал работать.)

Именно поэтому onEdit () работал для первого листа, а не для второго.

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