teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

不要行を修正

2021/05/18 03:22

投稿

退会済みユーザー
answer CHANGED
@@ -11,7 +11,6 @@
11
11
  var sh = ss.getSheetByName('コピー元シート名');
12
12
  var _lastRow = sh.getLastRow();
13
13
  var data = sh.getRange(2, 1, _lastRow, 7).getValues();
14
- data = sh.getRange("A2:G").getValues();
15
14
 
16
15
  var classidsh = ss.getSheetByName('キーとなる別シートのシート名');
17
16
  var classiddata = classidsh.getDataRange().getValues();

3

2021/05/18 03:22

投稿

退会済みユーザー
answer CHANGED
@@ -41,6 +41,7 @@
41
41
  // 集約したデータを各スプレッドシートに書き込む
42
42
  for (var i = 0; i < classiddata.length; i++){
43
43
  var classid = classiddata[i][0];
44
+ if (classid == null || classid == 0) continue; // 想定されるエラー対策(こちらでは発生していないが念のため)
44
45
  var copyss = SpreadsheetApp.openById(classid);
45
46
  var copysh = copyss.getSheetByName(targetSheetName);
46
47
  if (copysh == null){

2

修正

2021/05/03 03:04

投稿

退会済みユーザー
answer CHANGED
@@ -49,7 +49,7 @@
49
49
  }
50
50
  var copy_lastRowPlus1 = copysh.getLastRow() + 1; // 書き込み先の最終行+1
51
51
  var copydata = arrays[classid]; // キーを指定して書き込むデータを格納。
52
- if (copydata == null) continue; // データがない場合はスキップ。
52
+ if (copydata == null || copydata.length < 1) continue; // エラー対策。データがない場合はスキップ。
53
53
  var lastColumn = 5 // カラム数を設定
54
54
  var lastRow = copydata.length; // 行数を取得
55
55
  copysh.getRange(copy_lastRowPlus1, 1, lastRow, lastColumn).setValues(copydata);

1

修正

2021/05/02 23:42

投稿

退会済みユーザー
answer CHANGED
@@ -49,7 +49,8 @@
49
49
  }
50
50
  var copy_lastRowPlus1 = copysh.getLastRow() + 1; // 書き込み先の最終行+1
51
51
  var copydata = arrays[classid]; // キーを指定して書き込むデータを格納。
52
+ if (copydata == null) continue; // データがない場合はスキップ。
52
- var lastColumn = copydata[0].length; // カラム数を取得
53
+ var lastColumn = 5 // カラム数を設定
53
54
  var lastRow = copydata.length; // 行数を取得
54
55
  copysh.getRange(copy_lastRowPlus1, 1, lastRow, lastColumn).setValues(copydata);
55
56
  }