我在Google表格上創建了一個簡單的任務表,讓用戶輸入筆記。我在第四欄中列出了是否完成任務的是/否數據驗證。我編寫了代碼將完成的任務保存到另一個名爲「Back Log」的工作表中。這裏是我的代碼:「For」循環沒有處理所有數據行
function Clear() {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main Note");
var ss1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Back Log");
var u;
var values = ss.getDataRange().getValues();
var Rangecopy
var rowNum2 = ss1.getLastRow();
var rowNum3 = rowNum2 +1
var Rangecopyto
var colNum = 4;
for (u=1;u<values.length +1;u++) {
if (ss.getRange(u,colNum).getValue() =="Yes") {
Rangecopy = ss.getRange(u,1,1,5)
Rangecopyto = ss1.getRange(rowNum3,1,1,5);
Rangecopy.copyTo(Rangecopyto);
Rangecopy.clearContent();
rowNum3 = rowNum3 +1;
}
}
}
該代碼做我所期望的,除了它始終保持最後一個條目不變。希望能夠找出解釋原因的任何幫助。 我已經給values.length添加了+1,這給了我正在尋找的結果,但我認爲可能有更合適的方法來執行此操作。
我得到了一系列無效的錯誤開始計數,當我改變u for循環爲0。我還添加了新行首先申報價值。我編輯了代碼以反映這些更改。 –