[英]Google Sheet Script - Multiple getRange looping
所以我有一个新问题。
到目前为止,我的脚本可以循环一张工作表并找到文本“银行”,它将背景颜色设置为红色,并将从另一个单元格中获取标记的值并记录下来。 一旦完成它就会崩溃,所以循环会中断,我不知道为什么?
function sortBank() {
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var numRows = rows.getNumRows();
var values = rows.getValues();
var rowsDeleted = 0
for (var i = 0; i <= numRows - 1; i++) {
var row = values[i];
if (row[8].indexOf('Bank') > -1) { /** Set the Job prefix **/
sheet.getRange(parseInt(i)+1,9).setBackgroundColor("#f44336");
var values = sheet.getRange(parseInt(i),2).getValues();
Logger.log(values[0][0]);
}
}
};
你可以看看类似的问题:
Google 表格脚本,超时。 需要一种新的方式或把它倒过来
基本的解决方案是使用getValues()
一次,然后在二维数组中循环值:
var sheet = SpreadsheetApp.getActiveSheet();
var rows = sheet.getDataRange();
var data = rows.getValues();
for (var i = 0; i < numRows; i++)
{
var j = SomeValue; // column number - 1
var row = data[i]; // row from origonal data range
var value = row[j]; // value from data
// some other code...
}
在此处查看有关您的问题的更多信息:
如果您能找到减少脚本对这些服务的调用的方法,您的脚本将运行得更快。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.