.getLastColumn()
返回最後一列的整數的方法您的工作表目前有。如果你的工作表有10列,.getLastColumn()
將返回10.
你有幾個潛在的選擇,你要求。第一種,如下所示,是您希望在工作表右端追加新的範圍。定義變量並以最基本的形式調用它們,而不是在其他方法中定義它們也是一個明智的想法。這種做法將減少錯誤並澄清您的代碼。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sourceRange = ss1.getRange(1, 1, 300, 22);
var sourceValues = sourceRange.getValues();
var ss3 = spreadsheet.getSheetByName("ss3");
var lastColumn = ss3.getLastColumn();
var archiveRange = ss3.getRange(1, lastColumn + 1, 300, 22); //Start at first row, the next column after the last one, for 300 rows and 22 columns.
archiveRange.setValues(sourceValues);
以上代碼將在您的工作表右側添加22列和300行。無論您運行多少次,您的工作表都會保留300行,但是您的專欄將會進一步延伸。
或者,如果你正在尋找使用相同的22列在您的片材的底部追加300行(延伸長度,NOT寬度),使用以下代碼:
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sourceRange = ss1.getRange(1, 1, 300, 22);
var sourceValues = sourceRange.getValues();
var ss3 = spreadsheet.getSheetByName("ss3");
var lastColumn = ss3.getLastColumn();
var lastRow = ss3.getLastRow();
var archiveRange = ss3.getRange(lastRow + 1, 1, 300, 22); //Start at the next row after the last, the first column, for 300 rows and 22 columns.
archiveRange.setValues(sourceValues);
這將保持寬度爲22行,並將長度延長300行。
如果您正在尋找這樣,只存在1歸檔完全覆蓋以前的數據,使用:
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sourceRange = ss1.getRange(1, 1, 300, 22);
var sourceValues = sourceRange.getValues();
var ss3 = spreadsheet.getSheetByName("ss3");
var archiveRange = ss3.getRange(1, 1, 300, 22);
archiveRange.setValues(sourceValues);
正如您可以猜到,它可以使這個範圍300行,22列。您的數據將被覆蓋,而不會添加長度或寬度。
您可能需要測試可能尚不存在的GAS可能有效且準確的.getRange()
。如果您在添加行/列時看到錯誤,那麼可以使用類似於.insertColumnsAfter()
和.insertRowsAfter()
之前的方法在之前將值寫入這些新範圍。關於表單方法的文檔可以在here找到。
非常感謝您的信息!我讀的最後一個參數是「列號」而不是「列數」。這固定了它。 –