循环范围和设置值

时间:2018-02-24 17:05:57

标签: javascript google-apps-script google-sheets

我想创建一个遍历A1:A150范围的循环,并将单元格值设置为=readmessage(Sheet2!A1),其中A1随每个单元格动态变化。所以用A2读取,Sheet2! A1。

function storeValue() {
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheets()[0]; 
    var range = sheet.getRange("A1:A150");
    for (var i = 1; i < range.length; i++) {
        range.setValue("=readMessage(Sheet2!"+range+")");
    }
}

这不起作用,没有任何内容写入范围内的单元格。

我猜这与range.setValue有关。

2 个答案:

答案 0 :(得分:0)

不要将值与公式混淆。对于值,有setValue(值),对于公式,有setFormula(公式)。

另一方面,var range = sheet.getRange("A1:A150");将Range对象分配给范围变量。要获取它地址,请使用getA1Notation()

答案 1 :(得分:0)

如果我理解正确的话,这应该有效:

function storeValue(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0]; 

for (var i = 1; i < 150; i++) {
    range = sheet.getRange("A"+i);
    range.setValue("=readMessage(Sheet2! A"+i+")");
}  }

否则请在下方发表评论。