特定のシートの最終行の下に、指定の値をコピーしていくためのコードを紹介します。使用するのはappendRow()関数です。最後行の下に行を追加する関数です。
なお、紹介するのは複数行でもコピーできます。
実際のコード
[コピー元データのあるスプレッドシートのid]、[コピー元データのあるシート名]、[コピー先のシート名]、DataArray()
の範囲は必要に応じて変更してください。
// コピー元データのあるスプレッドシートの取得
var id= "[コピー元データのあるスプレッドシートのid]"
var File = SpreadsheetApp.openById(id);
var baseSheet = File.getSheetByName("[コピー元データのあるシート名]");
// 指定のシートの最終行に値を追加
function MainFrame() {
setDataList("[コピー先のシート名]",DataArray(◯,◯,◯,◯)); // コピー元シートの範囲を指定する
}
// スプレッドシートの最終行にコピーする関数
function setDataList(sheetName, DATA_Array){
var Sheet = File.getSheetByName(sheetName);
Sheet.appendRow(DATA_Array); //最終行に配列データを追加
}
// 指定範囲のセルから値を取得する関数
function DataArray(row,col,rowNum,colNum){
var array = baseSheet.getRange(row,col,rowNum,colNum).getValues()[0]; // getValuesは2次元配列なので、最初の行のみを指定
return array; //指定した配列を返す
}
上記のコードを追加して『MainFrame』を起動すれば、指定のシートの最終行にデータが追加されます。