我正在重寫一個每日跟蹤器,該跟蹤器獲取一行資料,并將其附加到第二張表的最后一行以獲取歷史資料。
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var source = ss.getRange ("TODAY_TRACKER!P2:T2");
var destSheet = ss.getSheetByName("DATA");
var destRange = destSheet.getRange(destSheet.getLastRow() 1,1);
source.copyTo (destRange, {contentsOnly: true});
這只是將該行復制到資料表上從 1,1 開始的最后一行。
我正在更新跟蹤表以獲取天數并制作每周資料表;我想將此行資料附加到同一作業表上特定位置的最后一行。
var source = ss.getRange("NEW_TTRACKER!J3:O3");
var destRange = ss.getRange(ss.getLastRow(7,10,1,6) 1,1);
source.copyTo (destRange, {contentsOnly: true});
這顯然不起作用,我只是在刺傷。
我正在嘗試將第一行資料復制到第 7 行第 10 列 1 行和 6 列。然后在接下來的幾天中的后續行到最后一行的下方。

幫助表示贊賞,在此先感謝。
uj5u.com熱心網友回復:
它不起作用,因為您的destRange. 首先它缺少一個左括號,其次您在getRange函式上添加了不正確的語法。您使用的第一個引數不包括一些額外的方法來拉取范圍并獲取范圍的最后一行。同樣使用 getLastRow() 將獲得整個作業表上的最后一行,因此如果您有任何其他資料低于所需范圍,它可能也會計算在內。因此,相反,我們可以通過獲取范圍內的資料值并使用長度來確定哪個子陣列具有最后一個資料并將其用作移動到下一個空白行時的參考來解決此問題。
請參閱下面的代碼
function copyDataArray() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var destSheet = ss.getSheetByName("NEW_TTRACKER");
var source = destSheet.getRange("J3:O3");
//Define the position of the last available data on the weekly section
var lastrowonrange = destSheet.getRange("J7:J11").getValues().filter(String).length;
//Selects the area whare to past the data based on the last available data
var destRange = destSheet.getRange(lastrowonrange 7,10,1,6);
source.copyTo(destRange, {contentsOnly: true});
};
我能夠正確運行它,它將資料附加到 destRange 上。

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444744.html
