前提・実現したいこと
特定のセルのチェックボックスがtrueになっている場合に、その列を別シートに移すコードを書きたいと思っています。
現在上から1つ目、2つ目はチェックをしていて3つ目はチェックを外している状態で、2つ目まではログが取れますが3つ目では下記のエラーが出て、4つ目以降には進みません。また、どの行も転記されていません。
よろしくお願いします。
発生している問題・エラーメッセージ
TypeError: Cannot read property '4' of undefined sheetCopyAnotherFile @ シートコピー.gs:11
該当のソースコード
GAS
1function sheetCopyAnotherFile() { 2var ss = SpreadsheetApp.getActiveSpreadsheet(); 3var sheet = ss.getSheetByName("フォームの回答 1"); 4var rows = sheet.getLastRow(); 5var columns = sheet.getLastColumn(); 6var range = sheet.getRange(2,1,rows,columns); 7var datas = range.getValues(); 8 9 10for(var i=2; i<=datas.length; i++){ 11 var done = datas[i][4]; 12 var datas1 = datas[i]; 13if(done === true){ 14var pastsheet = ss.getSheetByName("過去の情報"); 15var pastrows = pastsheet.getLastRow()+1; 16var pastcolumns = pastsheet.getLastColumn()+1; 17var pastrange = pastsheet.getRange(1,1,pastrows,pastcolumns); 18var set = pastrange.setValues[datas1]; 19} 20} 21}
試したこと
なぜ数字に定義が必要なのか分からず、試すべきことが分かりませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。