[英]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.