Проблема:
Защита работает только для Sheet
или Range
, но не для list of ranges
. Из-за этого вы не можете защитить их обоих одновременно. См. Защита, скрытие и редактирование листов .
Обходной путь:
Если вы можете использовать Apps Script , вы можете иметь скрипт, который будет защищать оба диапазона:
var sheet = SpreadsheetApp.getActiveSheet();
var range1 = sheet.getRange("E3:F3");
var protection1 = range1.protect();
var range2 = sheet.getRange("H3");
var protection2 = range2.protect();
var protections = [protection1, protection2];
protections.forEach(protection => {
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}
});
Ссылка: