- Вы хотите изменить цвет фона отредактированной ячейки, только когда в столбец "J" введены "A", "B" и "C".
- "Макрос листа Google" в заголовке и теге - Google Apps Script.
Если мое понимание верно, как насчет этих 2 примеров сценариев? Пожалуйста, подумайте об этом как об одном из нескольких ответов.
Пример сценария 1:
В этом примере скрипта используется событие «OnEdit» простых триггеров.
Расход:
- Проверьте диапазон редактируемой ячейки. Если диапазон - это столбец «J», скрипт запускается.
- Проверьте введенное значение. Если введено значение «A», «B» и «C», цвет фона изменяется.
- Если введенное значение НЕ равно «A», «B» и «C», значение удаляется.
Сценарий:
Скопируйте и вставьте следующий скрипт в редактор скриптов и сохраните его. Затем укажите значение в столбце «J».
function onEdit(e) {
if (e.range.getColumn() == 10) {
var colors = {A: "green", B: "yellow", C: "red"};
if (Object.keys(colors).indexOf(e.value) > -1) {
e.range.setBackground(colors[e.value]);
} else {
e.range.setValue("");
}
}
}
Примечание:
- В этом примере сценария сценарий выполняется для всех листов в электронной таблице.
- Если вы хотите запустить скрипт для конкретных листов, скажите, пожалуйста.
- В этом примере сценария предполагается, что в одну ячейку помещается одно значение.
- Если вы хотите поместить несколько значений в несколько строк в столбце «J», сообщите мне.
Пример сценария 2:
В этом примере сценария установите для параметра «Проверка данных» и «Условное правило формата» значение «J».
* * Поток тысяча сорок-девять:
- Установить проверку данных
- Таким образом, только столбцы «J» могут содержать только значения «A», «B» и «C».
- Установить правило условного формата
- При этом, когда значения «A», «B» и «C» помещаются в ячейку столбца «J», цвет фона изменяется.
Сценарий:
Скопируйте и вставьте следующий скрипт в редактор скриптов и сохраните его. Затем запустите myFunction()
в редакторе сценариев. В этом сценарии условие работает, запустив сценарий только один раз.
function myFunction() {
var rangeA1Notation = "J:J"; // Column "J"
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(rangeA1Notation);
// Set Data Validation
var rule = SpreadsheetApp.newDataValidation().withCriteria(SpreadsheetApp.DataValidationCriteria.VALUE_IN_LIST, [["A", "B", "C"], false]).setAllowInvalid(false).build();
range.setDataValidation(rule);
// Set Conditional Format Rule
var rules = sheet.getConditionalFormatRules();
rules.push(SpreadsheetApp.newConditionalFormatRule().whenTextEqualTo("A").setBackground("green").setRanges([range]).build());
rules.push(SpreadsheetApp.newConditionalFormatRule().whenTextEqualTo("B").setBackground("yellow").setRanges([range]).build());
rules.push(SpreadsheetApp.newConditionalFormatRule().whenTextEqualTo("C").setBackground("red").setRanges([range]).build());
sheet.setConditionalFormatRules(rules);
}
Ссылки
Если эти методы были не тем, что вы хотите, я прошу прощения.