Можно ли изменить цвет диапазона на основе значения отдельной ячейки? - PullRequest
1 голос
/ 02 мая 2020
    function addConditionalFormatting(){

var sheet = SpreadsheetApp.getActiveSheet();
 var range = sheet.getRange("G3");
  var Master = sheet.getRange("G2:J6")
var rule = SpreadsheetApp.newConditionalFormatRule()
    .whenTextEqualTo("Female")
    .setBackground("#25ABE2")
    .setRanges([Master])
    .build();
var rules = sheet.getConditionalFormatRules();
rules.push(rule);
sheet.setConditionalFormatRules(rules);
}  

Идея состоит в том, чтобы диапазон изменял цвета на основе ячейки G3, в которой имеется список проверки данных с 3 вариантами выбора: мужской, женский и мужской. В настоящее время я только пытаюсь изменить цвет 1, прежде чем добавить другие правила, но я не могу заставить его работать.

Я не уверен, где применить переменную "диапазон"

Возможно ли это изменить цвет диапазона на основе значения отдельной ячейки?

Ответы [ 2 ]

2 голосов
/ 02 мая 2020

Краткий ответ: Да, это возможно:)

Попробуйте это -

function addConditionalFormatting(){

  var sheet = SpreadsheetApp.getActiveSheet();
//  var range = sheet.getRange("G3");
  var Master = sheet.getRange("G2:J6")
  var rule = SpreadsheetApp.newConditionalFormatRule()
  .whenFormulaSatisfied('=$G$3="Female"')
  .setBackground("#25ABE2")
  .setRanges([Master])
  .build();
  var rules = sheet.getConditionalFormatRules();
  rules.push(rule);
  sheet.setConditionalFormatRules(rules);
}  

Я заменил .whenTextEqualTo("Female") на .whenFormulaSatisfied('=$G$3="Female"'), а также прокомментировал var range = sheet.getRange("G3") (не уверен, что он использовался для чего-то другого).

Как я решил это?

  1. Сначала я попытался сделать это на листе без сценария, используя фактический пользовательский интерфейс; Формат> Условное форматирование и выбрал «Пользовательская формула» вместо «Текст точно» (пришлось изучить Пример 2 из этой статьи

  2. Записал весь процесс снова с помощью макроса;) т.е. Инструменты> Макросы> Запись макроса

Надеюсь, это поможет, но, пожалуйста, не стесняйтесь писать, если у вас есть больше вопросов.

0 голосов
/ 02 мая 2020

Почему бы заранее не установить фактический условный формат диапазона? Почему вы хотите сделать это через скрипт приложения? Похоже, огромный обходной путь. Здесь GIF, чтобы установить это

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