У меня есть скрипт, который заполняет проверки данных на одной вкладке (Оценка), заполняя строки на другой вкладке (itemDataValidations), которую я использую в качестве диапазона или помощника.Что я хотел бы сделать, так это пропустить этот вспомогательный процесс и сделать так, чтобы скрипт заполнял проверку данных напрямую;«Список предметов» вместо «Список из диапазона».
К сожалению, у меня ограниченные знания о GAS, и до сих пор мои попытки были 0 успешными.
Вот фрагмент сценария, который обрабатывает проверку данных ...
// Populate item data validations
if(activeCell.getColumn() == 2 && activeCell.getRow() > 1){
// if we're in the 'Items' tab, we don't need to populate
// the 'item' or 'sub item' fields.
if(e.range.getSheet().getName() == 'Items') return;
activeCell.offset(0, 1).clearContent().clearDataValidations();
var item = itemDVss.getRange(activeCell.getRow(),activeCell.getColumn(),itemss.getLastColumn()).getValues();
var itemIndex = item[0].indexOf(activeCell.getValue()) + 2;
if(itemIndex != 0){
var itemValidationRange = itemDVss.getRange(activeCell.getRow(),3,1,itemDVss.getLastColumn());
var itemValidationRule = SpreadsheetApp.newDataValidation().requireValueInRange(itemValidationRange).build();
activeCell.offset(0, 1).setDataValidation(itemValidationRule);
}
}
Вот полный сценарий