Cannot read property ‘getRange’ of null
「Cannot read property ‘getRange’ of null」
のエラーが発生しました。
・getRangeの値がnullになっていますよ。
という意味みたいですね。
エラーが発生したコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// スプレッドシートを読み込む let mySheet = SpreadsheetApp.getActiveSpreadsheet(); // スプレッドシートに新しいシートを追加挿入 let newSheet = mySheet.insertSheet(); // 新しく追加したシートを先頭に移動 mySheet.moveActiveSheet(1); // 追加挿入したシートに名前を設定 newSheet.setName("test"); // コピー元のシートを指定する let copy_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート元'); /****************************************** * コピー元のシートから、コピー先のシートへコピペ * コピー元:2,2,5,3 = B2:D6 * B2から、5行3列がコピー対象である * コピー先:1,1 = A1 ******************************************/ // コピー元シートからcopyして、コピー先シートA1セルへ貼り付けを行う copy_sheet.getRange(2,2,5,3).copyTo(newSheet.getRange(1, 1)); |
原因と修正
エラーが発生したのは以下の部分です。
getRangeでエラーが発生しています。
1 2 |
// コピー元シートからcopyして、コピー先シートA1セルへ貼り付けを行う copy_sheet.getRange(2,2,5,3).copyTo(newSheet.getRange(1, 1)); |
しかし実際の原因はここにありました。
1 2 |
// コピー元のシートを指定する let copy_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート元'); |
原因の内容は凄く単純なのですが、
「シート名が間違えていた」です!
×:シート元
〇:コピー元
でしたw
↓へ修正することでエラーが解消です。
1 2 |
// コピー元のシートを指定する let copy_sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('コピー元'); |
同じエラーが発生した方は一度シート名をご確認くださいませ。
以上です。
最後までお読みいただきありがとうございました!