例文を使って繰り返し業務を時短

【GAS】別スプシの最終行の値を転記する

GAS

別スプシの最終行の値を転記する

このGASのスクリプトは指定した別ファイルのスプレッドシートから最終行の値を取得し、スクリプトが実行されたシートの最終行の次の行にその値を転記します。

function copyLastRowValue() {
  // 別ファイルのスプレッドシートのIDを指定します
  var spreadsheetId = "1UXB-TB71EZQxg_X_jamh9ZZzgLrSrKGXFFjiyrQsCfs";

  // 別ファイルのスプレッドシートを開きます
  var spreadsheet = SpreadsheetApp.openById(spreadsheetId);

  // 別ファイルのシート名を指定します
  var sheetName = "シート1"; // シート名を適切な名前に変更してください

  // 別ファイルの指定したシートを取得します
  var sheet = spreadsheet.getSheetByName(sheetName);

  if (sheet) {
    // 別ファイルの最終行の値を取得します
    var lastRow = sheet.getLastRow();
    var lastRowValue = sheet.getRange(lastRow, 1).getValue();

    // スクリプトが実行されたシートをアクティブなシートとして取得します
    var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

    // アクティブシートの最終行に値を転記します
    var activeSheetLastRow = activeSheet.getLastRow();
    activeSheet.getRange(activeSheetLastRow + 1, 1).setValue(lastRowValue);
  } else {
    Logger.log("指定したシートが見つかりませんでした。");
  }
}

解説

  • copyLastRowValue関数が定義されています。
  • spreadsheetId変数には、別ファイルのスプレッドシートのIDが指定されています。このIDは、スプレッドシートのURLから取得できます。
  • SpreadsheetApp.openById(spreadsheetId)を使用して、指定したスプレッドシートを開きます。spreadsheet変数には、開いたスプレッドシートのオブジェクトが格納されます。
  • sheetName変数には、別ファイルのシート名が指定されています。この名前は、スプレッドシート内のシートのタブに表示される名前です。適切なシート名に変更してください。
  • spreadsheet.getSheetByName(sheetName)を使用して、指定したシートを取得します。取得したシートオブジェクトは、sheet変数に格納されます。
  • if (sheet)を使用して、シートが存在するかどうかをチェックします。存在する場合は、以下の処理が実行されます。存在しない場合は、”指定したシートが見つかりませんでした。”というメッセージがログに出力されます。
  • sheet.getLastRow()を使用して、取得したシートの最終行の行番号を取得します。lastRow変数に格納されます。
  • sheet.getRange(lastRow, 1).getValue()を使用して、最終行の1列目のセルの値を取得します。lastRowValue変数に格納されます。
  • SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()を使用して、スクリプトが実行されたシートをアクティブなシートとして取得します。activeSheet変数に格納されます。
  • activeSheet.getLastRow()を使用して、アクティブシートの最終行の行番号を取得します。activeSheetLastRow変数に格納されます。
  • activeSheet.getRange(activeSheetLastRow + 1, 1).setValue(lastRowValue)を使用して、アクティブシートの最終行の次の行の1列目のセルに最終行の値を転記します。setValue()メソッドを使用してセルに値を設定します。

コメント

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