Редактировать диалог в листе
Эта функция состоит из двух разделов. Верхний раздел запускает редактирование на листе редактирования в столбце 2 и строке 2, который представляет собой раскрывающийся список, содержащий все имена в листе данных. При редактировании здесь запускается верхняя секция, которая считывает данные на листе данных и подает соответствующее имя, когда находит, что строка загружена в столбцы с 1 по 4 и строку 2 листа редактирования. Затем вы можете отредактировать статус и установить флажок, чтобы сохранить его обратно на лист данных. Затем нижняя часть запускает установленный флажок сброса, очищает диапазон редактирования и загружает изменения обратно в таблицу данных.
Пожалуйста, посмотрите на анимацию, чтобы увидеть процесс в действии.
Просто, чтобы вы знали заранее, вы можете запустить эту функцию из редактора сценариев, вы должны поместить ее в свой лист и Назовите свои листы правильно. Вы также должны настроить проверки данных для двух раскрывающихся списков. Если вы попытаетесь запустить эту функцию из редактора сценариев, вы получите Ошибка: не удается найти метод getsheet () с неопределенным
function onEdit(e) {
e.source.toast('Entry');
var sh=e.range.getSheet();
if(sh.getName()=='Edit' & e.range.columnStart==2 && e.range.rowStart==2) {
e.source.toast('flag1');
var found=false;
var dsh=e.source.getSheetByName('Data');
var vA=dsh.getRange(2,1,dsh.getLastRow()-1,dsh.getLastColumn()).getValues();
for(var i=0;i<vA.length;i++) {
if(vA[i][1]==e.range.getValue()) {
sh.getRange(2,1,1,4).setValues([vA[i]]);
found=true;
e.source.toast('Value Found at i = ' + i + 'value = ' + vA[i][1],'',-1);
break;
}
}
if(!found) {
e.source.toast('No Value found = ' + e.value);
}
Logger.log(vA);
}
if(sh.getName()=='Edit' & e.range.columnStart==5 && e.range.rowStart==2) {
e.range.setValue("FALSE");
dsh=e.source.getSheetByName('Data');
dsh.getRange(Number(e.range.offset(0,-4).getValue()+1),4).setValue(e.range.offset(0,-1).getValue());
sh.getRange(2,1,1,4).clearContent();
}
}
Таблица данных:
Редактировать лист:
Анимация: