Камуфлирующие ячейки
Это предполагает, что изменение в B4 происходит от редактирования пользователем B4.
Вы можете скрывать строки, скрывать столбцы и скрывать листы, но в настоящее время вы не можете скрыть ячейки.
Это на самом деле не будет скрывать ячейки, но затруднит их чтение, если сделать цвет шрифта и цвет фона одинаковыми, и если вы захотите пойти по этому пути, вы также можете защитить их.
function onEdit(e) {
var sh=e.range.getSheet();
if(sh.getName()!='Sheet2'){return;}
if(e.range.columnStart==2 && e.range.rowStart==4) {
e.source.toast('Flag');
var rg1=sh.getRange('B5:B10');
var rg2=sh.getRange('C5:C10');
if(e.value==2) {
rg1.setFontColor('#ffffff');
rg2.setFontColor('#ffffff');
rg1.setBackground('#ffffff');
rg2.setBackground('#ffffff');
}else
{
rg1.setFontColor('#000000');
rg2.setFontColor('#000000');
rg1.setBackground('#ffffff');
rg2.setBackground('#ffffff');
}
}
}
Это также добавляет и снимает защиту. Это не проверено.
function onEdit(e) {
var sh=e.range.getSheet();
var ss=e.source;
if(sh.getName()!='Sheet2'){return;}
if(e.range.columnStart==2 && e.range.rowStart==4) {
e.source.toast('Flag');
var rg1=sh.getRange('B5:B10');
var rg2=sh.getRange('C5:C10');
if(e.value==2) {
rg1.setFontColor('#ffffff');
rg2.setFontColor('#ffffff');
rg1.setBackground('#ffffff');
rg2.setBackground('#ffffff');
rg1.protect();
rg2.protect();
}else
{
rg1.setFontColor('#000000');
rg2.setFontColor('#000000');
rg1.setBackground('#ffffff');
rg2.setBackground('#ffffff');
var protections=ss.getProtections(SpreadsheetApp.ProtectionType.RANGE);
for (var i=0;i<protections.length;i++) {
var protection = protections[i];
if (protection.canEdit()) {
protection.remove();
}
}
}
}
}
Диапазон
листов