別スプシの該当列全ての値を最終行に転記する
このGASのスクリプトは、指定した別ファイルのシートから該当の列のすべてのセルの値を取得し、スクリプトが実行されたシートの最終行の次の行から順にそれぞれの値を転記するものです。
function copyColumnValues() {
// 別ファイルのスプレッドシートのIDを指定します
var spreadsheetId = "スプレットシートID";
// 別ファイルのスプレッドシートを開きます
var spreadsheet = SpreadsheetApp.openById(spreadsheetId);
// 別ファイルのシート名を指定します
var sheetName = "シート名"; // シート名を適切な名前に変更してください
// 別ファイルの指定したシートを取得します
var sheet = spreadsheet.getSheetByName(sheetName);
if (sheet) {
// 別ファイルの最終行の行番号を取得します
var lastRow = sheet.getLastRow();
// 別ファイルの指定した列の範囲を取得します
var columnRange = sheet.getRange(1, 1, lastRow, 1);
// 別ファイルの指定した列のすべてのセルの値を取得します
var columnValues = columnRange.getValues();
// スクリプトが実行されたシートをアクティブなシートとして取得します
var activeSheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
// アクティブシートの最終行を取得します
var activeSheetLastRow = activeSheet.getLastRow();
// 取得した値をアクティブシートの最終行の次の行から順に転記します
for (var i = 0; i < columnValues.length; i++) {
activeSheet.getRange(activeSheetLastRow + 1 + i, 1).setValue(columnValues[i][0]);
}
} else {
Logger.log("指定したシートが見つかりませんでした。");
}
}
解説
copyColumnValues
関数が定義されています。spreadsheetId
変数には、別ファイルのスプレッドシートのIDが指定されています。このIDは、スプレッドシートのURLから取得できます。SpreadsheetApp.openById(spreadsheetId)
を使用して、指定したスプレッドシートを開きます。spreadsheet
変数には、開いたスプレッドシートのオブジェクトが格納されます。sheetName
変数には、別ファイルのシート名が指定されています。この部分は、転記したいシートの名前に合わせて適切に変更してください。spreadsheet.getSheetByName(sheetName)
を使用して、指定したシートを取得します。sheet
変数には、取得したシートのオブジェクトが格納されます。if (sheet)
の条件分岐により、シートが存在するかどうかを確認します。sheet.getLastRow()
を使用して、別ファイルのシートの最終行の行番号を取得します。sheet.getRange(1, 1, lastRow, 1)
を使用して、指定した列の範囲を取得します。ここでは、最終行までのすべての行と、1列目(A列)のセルを対象としています。columnRange.getValues()
を使用して、指定した列のすべてのセルの値を取得します。取得した値は、columnValues
変数に2次元配列として格納されます。SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
を使用して、スクリプトが実行されたシートをアクティブなシートとして取得します。activeSheet.getLastRow()
を使用して、アクティブシートの最終行の行番号を取得します。- 取得した値をアクティブシートの最終行の次の行から順に転記します。
for
ループを使用して、columnValues
の各要素を取り出し、アクティブシートの該当する行に対応するセルに値を転記します。この際、setValue
メソッドを使用してセルに値を設定します。 else
ブロックでは、指定したシートが見つからなかった場合にエラーメッセージをログに出力します。
コメント