回答編集履歴
4
修正
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
コードは、下記のようになるでしょうか。
|
26
26
|
|
27
|
-
取引商品名の検索は、行の最初から文字列を比較していき、等しい文字列に当たったところでストップするという
|
27
|
+
取引商品名の検索は、行の最初から文字列を比較していき、等しい文字列に当たったところでストップするというやり方です。
|
28
28
|
|
29
29
|
|
30
30
|
|
3
修正
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
修正
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
修正
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
|
|