Я, вероятно, неправильно понимаю некоторые из основ, но я пытаюсь заменить ошибочные формулы с помощью замены. Кажется, работает тот, который находится в одной ячейке, но тот, который представляет собой группу ячеек, с которыми я борюсь
var W2X = AllShts[b].getRange("O18").getFormula();
AllShts[b].getRange('O18').setValue(W2X.replace("W","X"));
c=c+1
var rngN18_29 = AllShts[b].getRange("N18:N29");
for (var a = 0; a < rngN18_29.getNumRows(); a++) {
var r = rngN18_29.getNumRows();
var x = rngN18_29[a].getA1Notation();
var rngN = rngN18_29[a].getFormula();
rngN18_29[a].setValue(rngN.replace("V","W"));
c=c+1
};
Я установил переменную rngN18_29, используя getRange
Чтобы пройти через каждый Я пытался использовать ячейку для оператора, используя количество строк в качестве счетчика для итераций. Сравнивая это с переменной r, это кажется правильным.
Однако я не могу заставить rngN18_29 [a] посмотреть на нужную ячейку. Я получаю сообщение об ошибке. Не удается прочитать свойство 'getA1Notation' из неопределенного (то же самое с getFormula)
. На данный момент меня больше всего интересует, как бы я прошел через диапазон N18: N29. заменить на весь диапазон сразу (изменяя формулы, а не значения)?
Редактировать:
Следуя совету TheMaster, у меня есть следующее, которое, кажется, делает свое дело.
Большое спасибо, сэр!
var rngN18_29 = AllShts[b].getRange("N18:N29").getFormulas();
for (var a = 0; a < rngN18_29.length; a++) {
rngN18_29[a][0] = rngN18_29[a][0].replace("V","W");
}
AllShts[b].getRange("N18:N29").setFormulas(rngN18_29);