我有一个通用电子表格,其中B列的编号为1-9。我想将每个行项目复制到我创建的相应表格,表1-9。但是,我将循环设置为从第5行开始并继续数据范围内所有行的长度,但循环不会继续经过第5行,即使B列中有更多行为“1”。任何人都可以帮助查看原因我的循环没有继续?谢谢!
function GoodFunction() {
var spreadsheet = SpreadsheetApp.getActive()
var R0sheet = spreadsheet.getSheetByName('S14Allocation')
var R1sheet = spreadsheet.getSheetByName('R1-Allocations')
var ss = spreadsheet;
var s = R0sheet
var targetSheet = R1sheet
var target = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
var r = s.getDataRange();
var numColumns = s.getLastColumn();
var numRows=s.getLastRow();
for (var i = 5; i <= numRows.length ; i++); {
if (s.getDataRange().getCell(i,2).getValue() === 1) {
s.getRange(i,1,1,numColumns).copyTo(target);
}
}
}
答案 0 :(得分:1)
numRows
已经是一个数字(来自s.getLastRow();
),因此请使用i < numRows
作为for循环中的条件。
正如Serge在评论中所说,代码非常令人困惑。不需要那么多变量,并且有更有效的方法可以同时处理多个单元格。
https://developers.google.com/apps-script/best_practices#batchOperations