Итак, я новичок в этом, но я могу копировать код и адаптировать его для простых вещей. Я хочу использовать содержимое ячеек для создания имен в именованных диапазонах.
В A1 у меня есть имя, которое я хочу использовать, а в A2: A22 у меня есть диапазон данных.
Кто-то поделился этим, что прекрасно работает с setNamedRange, если имя именованного ранжирования явно указано в сценарии - TestRange согласно коду:
function testNamedRange() {
var ss = SpreadsheetApp.openById('here is the spreadsheet id');
var range = ss.getRange('Sheet1!A2:A22');
ss.setNamedRange('TestRange', range);
var rangeCheck = ss.getRangeByName('TestRange');
var rangeCheckName = rangeCheck.getA1Notation();
}
но если я заменим имя «TestRange», скажем, «Sheet1! A1», он не будет брать текст из Sheet1! A1 и использовать его для имени этого диапазона - сообщение об ошибке «Имя, данное этому диапазону: недействителен ":.
function testNamedRange() {
var ss = SpreadsheetApp.openById('here is the spreadsheet id');
var range = ss.getRange('Sheet1!A2:A22');
ss.setNamedRange('**Sheet1!A1**', range);
var rangeCheck = ss.getRangeByName('**Sheet1!A1**');
var rangeCheckName = rangeCheck.getA1Notation();
}