Google Apps Scriptで最終行に指定の値をコピーする方法

プログラミング

特定のシートの最終行に、指定の値をコピーしていくためのコードです。

なお、1列目から値がコピペされます。

実際のコード

[コピー元データのあるスプレッドシートのid]、[コピー元データのあるシート名]、[コピー先のシート名]、DataArray()の範囲は必要に応じて変更してください。

※自作のDataArray()関数の引数は、DataArray(開始行、開始列、行数、列数)です。最終行に1列追加するだけなら、行数=1になります。

//TODO: コピー元データのあるスプレッドシートの取得
var id= "[コピー元データのあるスプレッドシートのid]"
var File = SpreadsheetApp.openById(id);
var baseSheet = File.getSheetByName("[コピー元データのあるシート名]"); 

//TODO: 指定のシートの最終行に値を追加
function MainFrame() {
  setDataList("[コピー先のシート名]",DataArray(◯,◯,◯,◯));
}

//TODO:スプレッドシートに、取得日時、額面金額、販売率を行に追加する
function setDataList(sheetName, DATA_Array){
  var Sheet = File.getSheetByName(sheetName);
  Sheet.appendRow(DATA_Array); //最終行に配列データを追加
}

//TODO:指定範囲のセルから値を取得
function DataArray(row,col,rowNum,colNum){
  var array = baseSheet.getRange(row,col,rowNum,colNum).getValues()[0]; // getValuesは2次元配列なので、最初の行のみを指定
  return array; //指定した配列を返す
}

上記のコードを追加して『MainFrame』を起動すれば、指定のシートの最終行にデータが追加されます。

appendRow()を使うときの注意点

列を指定することはできないので、1列目から値が追加されます。

タイトルとURLをコピーしました