回答編集履歴

4

修正

2021/06/07 14:49

投稿

退会済みユーザー
test CHANGED
@@ -24,7 +24,7 @@
24
24
 
25
25
  コードは、下記のようになるでしょうか。
26
26
 
27
- 取引商品名の検索は、行の最初から文字列を比較していき、等しい文字列に当たったところでストップするという単純なものです。
27
+ 取引商品名の検索は、行の最初から文字列を比較していき、等しい文字列に当たったところでストップするというやり方です。
28
28
 
29
29
 
30
30
 

3

修正

2021/06/07 14:49

投稿

退会済みユーザー
test CHANGED
@@ -64,7 +64,11 @@
64
64
 
65
65
  function search() {
66
66
 
67
+ // 取引完了チェックボックス以外のセルが編集された場合は何もしない。
68
+
67
69
  if (targetCol != 10) return;
70
+
71
+
68
72
 
69
73
  var dealType = data[targetRow-1][1]; // 取引タイプ(購入希望 or 買取希望)
70
74
 
@@ -74,7 +78,7 @@
74
78
 
75
79
  var targetSheet = null;
76
80
 
77
- // 取引完了チェックボックス以外のセルが編集された場合は何もしない。
81
+
78
82
 
79
83
  if (dealType == "購入希望") {
80
84
 

2

修正

2021/06/07 14:23

投稿

退会済みユーザー
test CHANGED
@@ -28,10 +28,6 @@
28
28
 
29
29
 
30
30
 
31
- ・アクティブセルの列数を取得する。
32
-
33
-
34
-
35
31
  ```diff
36
32
 
37
33
  (略)
@@ -42,7 +38,7 @@
42
38
 
43
39
  var targetRow = targetCell.getRow();
44
40
 
45
- + var targetCol = targetCell.getColumn();
41
+ + var targetCol = targetCell.getColumn(); // 編集されたセルの列数を取得。
46
42
 
47
43
  //参照マスタ
48
44
 
@@ -52,9 +48,7 @@
52
48
 
53
49
   
54
50
 
55
- ```
51
+ ```js
56
-
57
-
58
52
 
59
53
  /*
60
54
 
@@ -70,6 +64,8 @@
70
64
 
71
65
  function search() {
72
66
 
67
+ if (targetCol != 10) return;
68
+
73
69
  var dealType = data[targetRow-1][1]; // 取引タイプ(購入希望 or 買取希望)
74
70
 
75
71
  var itemName = data[targetRow-1][2]; // 取引商品名
@@ -79,8 +75,6 @@
79
75
  var targetSheet = null;
80
76
 
81
77
  // 取引完了チェックボックス以外のセルが編集された場合は何もしない。
82
-
83
- if (targetCol != 10) return;
84
78
 
85
79
  if (dealType == "購入希望") {
86
80
 
@@ -97,8 +91,6 @@
97
91
  var result = updateStockCount(targetSheet, itemName, tempStockCount);
98
92
 
99
93
  if (result == true) {
100
-
101
- Logger.log(`Delete ${SpreadsheetApp.getActiveSheet().getName()} of row:${targetRow}`);
102
94
 
103
95
  // 行を削除
104
96
 
@@ -140,10 +132,6 @@
140
132
 
141
133
  function updateStockCount(sheet, itemName, newStockCount) {
142
134
 
143
- Logger.log(`Called updateStockCount(sheet:${sheet.getName()} itemName:${itemName} newStockCount:${newStockCount})`);
144
-
145
-
146
-
147
135
  if (sheet.getDataRange() == null) {
148
136
 
149
137
  Logger.log(`Could not detect a valid sheet.:[${sheet.getName()}]`);
@@ -160,11 +148,11 @@
160
148
 
161
149
  if (sheetData[rowNum][1] == itemName) {
162
150
 
163
- Logger.log(`Update ${sheet.getName()} row:${rowNum+1} itemName:${itemName} stockCount:[${sheetData[rowNum][3]} -> ${newStockCount}]`);
164
-
165
151
  // 更新後の在庫数をD列にセット
166
152
 
167
- sheet.getRange(rowNum+1,4).setValue(newStockCount);
153
+ sheet.getRange(rowNum+1, 4).setValue(newStockCount);
154
+
155
+ Logger.log(`Update ${sheet.getName()} row:${rowNum+1} itemName:${itemName} stockCount:[${sheetData[rowNum][3]} -> ${newStockCount}]`);
168
156
 
169
157
  return true;
170
158
 

1

修正

2021/06/07 14:20

投稿

退会済みユーザー
test CHANGED
@@ -25,6 +25,30 @@
25
25
  コードは、下記のようになるでしょうか。
26
26
 
27
27
  取引商品名の検索は、行の最初から文字列を比較していき、等しい文字列に当たったところでストップするという単純なものです。
28
+
29
+
30
+
31
+ ・アクティブセルの列数を取得する。
32
+
33
+
34
+
35
+ ```diff
36
+
37
+ (略)
38
+
39
+ //**変更されたセルを取得//
40
+
41
+ var targetCell = ss.getActiveCell();
42
+
43
+ var targetRow = targetCell.getRow();
44
+
45
+ + var targetCol = targetCell.getColumn();
46
+
47
+ //参照マスタ
48
+
49
+ (略)
50
+
51
+ ```
28
52
 
29
53
   
30
54
 
@@ -54,7 +78,11 @@
54
78
 
55
79
  var targetSheet = null;
56
80
 
81
+ // 取引完了チェックボックス以外のセルが編集された場合は何もしない。
82
+
83
+ if (targetCol != 10) return;
84
+
57
- if(dealType == "購入希望") {
85
+ if (dealType == "購入希望") {
58
86
 
59
87
  targetSheet = hanbai;
60
88