実現したいこと
お世話になっております。
GAS初心者のために初歩的な質問を大変恐れ入ります。
実現したいことは、同じスプレッドシート内で
シート1のA列の値を、
シート2のB列に転記するということです。
行数は可変で、A列の2行目から最終行まで取得し、
B列に転記したいと考えております。
前提
以下の通りコードを作成しました。
function copyColumn(SpreadsheetID,sheet1, sheet2, fromColumn, toColumn) {
// 転記元のシートを開きます。
var sourceSheet = SpreadsheetApp.openById(SpreadsheetID).getSheetByName(sheet1);
// 転記先のシートを開きます。
var targetSheet = SpreadsheetApp.openById(SpreadsheetID).getSheetByName(sheet2);
var values = sourceSheet.getRange(fromColumn).getValues();
// 転記先のシートの行に値を設定します。
// 転記元のシートから値を取得します。
for (var i = 0; i < values.length; i++) {
targetSheet.getRange(toColumn).setValue(values[i]);
}
}
copyColumn('実際のスプレッドシートIDのID', 'フォームの回答 1', 'sheet1','A:A', 'B:B');
発生している問題・エラーメッセージ
エラーメッセージ エラー TypeError: Cannot read properties of null (reading 'getRange') ### 該当のソースコード copyColumn @ コード.gs:13 (匿名) @ コード.gs:17 ```ここに言語名を入力 GAS
試したこと
Getrange()にいろいろ値を入れてみましたが、
上手くいきません。やりたいことは単純なので、
ARRAYFORMULAで代替することも考えています。。。
ただ、今後のトランザクションが増えることを考えると、
関数ではなく、GASの方がいいのかとも懸念しています。
補足情報(FW/ツールのバージョンなど)
初心者のため初歩的な質問であれば大変申し訳ありません。おそらく、列で指定しつつ、
Forで繰り返していることが原因だとは推認しておりますが、修正方針がたたず、教えていただければ助かります。
何卒よろしくお願い申し上げます。
