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

質問編集履歴

1

エラー部分自己解決 <2><3>部のみアドバイス欲しい旨追記

2022/10/27 11:14

投稿

donguriko
donguriko

スコア30

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,11 @@
1
1
  ### 前提
2
+ (10/27 20:14追記)
3
+ 投稿しましたが、エラーは自己解決できました。
4
+ 下記<2><3>部分のみアドバイスをいただけます
5
+ でしょうか?
6
+ ----------------------------------------------------------------------
2
7
 
8
+
3
9
  次の2つのスプレッドシートファイルがあります。
4
10
  ①個票
5
11
  ②全体票
@@ -48,6 +54,7 @@
48
54
  以下、コード全文記載します。
49
55
 
50
56
  ```GAS
57
+ (自己解決コード) ------------------------------------------------------------
51
58
  function myFunction(indvToall) {
52
59
 
53
60
  //ALLファイルURL
@@ -80,9 +87,71 @@
80
87
  fromUrl = toSheet.getRange(targetRow, 21, 1, 1).setValue(fromId);
81
88
  console.log('fromId ' + fromId);
82
89
 
90
+ fromRange = fromSheet.getRange(4, 2, 6, 3).getValues();
91
+ console.log('fromRange ' + fromRange);
92
+
83
93
  //▼個票ファィルのデータ取得
84
94
  //B4~D9までを二次元配列(fromRange)で取得
85
95
  //二次元配列(fromRange)
96
+ for (let r = 0; r <= 5; r++) {
97
+ let date = fromRange[r][0];   //入力日
98
+ let name = fromRange[r][1];   //入力者
99
+ let cond = fromRange[r][2];   //概要
100
+ console.log('date ' + date);
101
+ console.log('name ' + name);
102
+ console.log('cond ' + cond);
103
+
104
+ //▼転記先ファイル(ALL)へのデータ転記
105
+ //状況報告1欄への転記
106
+ //getRange(行,列,行分,列分)
107
+ const setdate = toSheet.getRange(targetRow, 3 + r *3, 1, 1).setValue(date);
108
+ const setname = toSheet.getRange(targetRow, 4 + r *3, 1, 1).setValue(name);
109
+ const setcond = toSheet.getRange(targetRow, 5 + r *3, 1, 1).setValue(cond);
110
+
111
+ //▼個票ファィルの「自動処理日時」欄(E列)にタイムスタンプを追記
112
+ const timeStamp = new Date();
113
+ console.log(timeStamp);
114
+ fromSheet.getRange(4 + r, 5, 1, 1).setValue(timeStamp);
115
+
116
+ }
117
+ }
118
+
119
+ (誤コード) --------------------------------------------------------------------
120
+ function myFunction(indvToall) {
121
+
122
+ //ALLファイルURL
123
+ // https://docs.google.com/spreadsheets/d/1NbSg5b2aW3U1-RaOPHsh6ZUTFp5WAxeKQ1WpL3oF5sQ/edit#gid=0
124
+
125
+ //ALLファイルID
126
+ //1NbSg5b2aW3U1-RaOPHsh6ZUTFp5WAxeKQ1WpL3oF5sQ
127
+
128
+ const fromss = SpreadsheetApp.getActiveSpreadsheet();
129
+ const toss = SpreadsheetApp.openById("1NbSg5b2aW3U1-RaOPHsh6ZUTFp5WAxeKQ1WpL3oF5sQ");
130
+ const fromSheet = fromss.getSheetByName('入力シート');
131
+ const toSheet = toss.getSheetByName('全体進捗');
132
+
133
+ //▼個票ファイルのファイルID(スプレッドシートID)の取得
134
+ fromId = fromss.getId();
135
+ fromURL = fromss.getUrl();
136
+ console.log('fromId ' + fromId);
137
+ console.log('fromURL ' + fromURL);
138
+
139
+ //▼転記先ファイル(ALL)の転記行(targetRow)の取得
140
+ //個票のセルF10から取得
141
+ const targetRow = fromSheet.getRange(10, 6, 1, 1).getValue(); // 6が正解
142
+ console.log('targetRow ' + targetRow);
143
+
144
+ //▼転記先ファイル(ALL) B列に転記元ファイル(個票)URLを転記
145
+ fromUrl = toSheet.getRange(targetRow, 2, 1, 1).setValue(fromURL);
146
+ console.log('fromUrl ' + fromUrl);
147
+
148
+ //▼転記先ファイル(ALL) U列に転記元ファイル(個票)IDを転記
149
+ fromUrl = toSheet.getRange(targetRow, 21, 1, 1).setValue(fromId);
150
+ console.log('fromId ' + fromId);
151
+
152
+ //▼個票ファィルのデータ取得
153
+ //B4~D9までを二次元配列(fromRange)で取得
154
+ //二次元配列(fromRange)
86
155
  for (let r = 0; r <= 6; r++) {
87
156
  fromRange = fromSheet.getRange(4, 2, 6, 3).getValues();
88
157
  console.log('fromRange ' + fromRange);