Я использую код скрипта приложения из: https://www.chicagocomputerclasses.com/google-sheets-apps-script-dynamic-dependent-dropdown-data-validation-lists/
для использования зависимых раскрывающихся списков проверки данных в документе листа Google.
Код работает, но теперь мне нужно, чтобы он работал с нашим офисным документом Google. Код сделан для работы из первого столбца, но мне нужно, чтобы он работал над столбцом E нашего документа.
Я пытался изменить:
if (activeCell.getColumn () == 1 && activeCell.getRow ()> 1) {
to: if (activeCell.getColumn () == 5 && activeCell.getRow ()> 1) {
но это не работает, код работал только в первом столбце
и теперь это вообще не работает, так как я пробовал некоторые вещи, даже если мне кажется, что я ничего не изменил, кроме номера столбца ...
Вот мой тестовый лист Google: https://docs.google.com/spreadsheets/d/1p_bc6FsxiE8a0J8XElv6SyjnXXtwc0qjoJ_MuSkHcUg/edit#gid=1591147038
А вот код:
function onEdit(){
var tablists = "Listes"
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var datass = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("tabLists");
var activeCell = ss.getActiveCell();
if(activeCell.getColumn() == 5 && activeCell.getRow() >1){
activeCell.offset(0, 1).clearContent().clearDataValidations();
var projets = datass.getRange(1, 1, 1, datass.getLastColumn()).getValues();
var projetsIndex = projets[0].indexOf(activeCell.getValue())+1;
if(projetsIndex ! = 0) {
var validationRange = datass.getRange(3, projetsIndex, datass.getLastRow());
var validationRule = SpreadsheetApp.newDataValidation().requireValueInRange(validationRange).build();
activeCell.offset(0, 1).setDataValidation(validationRule);
}
}
}
Если у вас есть идеи о том, что мне не хватает!
Большое спасибо !!!