質問編集履歴
1
質問とコードをシンプルにしました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,47 +1,26 @@
|
|
1
1
|
### 実現したいこと
|
2
|
-
スプレッドシート1とスプレッドシート2があります。
|
3
|
-
スプレッドシート
|
2
|
+
スプレッドシートにすでに設置されているプルダウンの選択をGASからおこないたいです。
|
4
|
-
スプレッドシート2のA列にはプルダウンの選択肢があり、スプレッドシート1に変更があるとスプレッドシート1の情報が書き込まれるようになっています。
|
5
|
-
スプレッドシート1で いいえ のテキストが送信され、スプレッドシート2で プルダウンの いいえを選ぶ感じにしたいです。
|
6
3
|
|
7
4
|
|
8
5
|
### 発生している問題・分からないこと
|
9
|
-
|
6
|
+
プルダウンに反映させる方法。テキストとしてそのまま表示されてしまいます。
|
10
|
-
|
11
7
|
|
12
8
|
|
13
9
|
|
14
10
|
### 該当のソースコード
|
15
11
|
|
16
12
|
```JavaScript
|
17
|
-
function new
|
13
|
+
function changeDropdown() {
|
18
|
-
const baseSheetId = "スプレッドシート1";
|
19
|
-
//スプレッドシートをIDで開く
|
20
|
-
const spreadsheet = SpreadsheetApp.openById(baseSheetId);
|
21
|
-
//シートを取得
|
22
|
-
const baseSheet = spreadsheet.getSheetByName('回答 1');
|
23
|
-
const databaseSheet = baseSheet.getDataRange();
|
24
|
-
|
25
|
-
//最終行を取得
|
26
|
-
const lastRow = databaseSheet.getLastRow();
|
27
|
-
//最終行の値を取得
|
28
|
-
const lastRowData = baseSheet.getRange(lastRow, 1, 1, baseSheet.getLastColumn()).getValues();
|
29
|
-
|
30
|
-
//別のシートに書き込む
|
31
|
-
const writeSheetId = "スプレッドシート2";
|
32
|
-
//スプレッドシートをIDで開く
|
33
|
-
const writeSheet = SpreadsheetApp.openById(writeSheetId);
|
34
|
-
//シートを取得
|
35
|
-
const memberSheet = writeSheet.getSheetByName('一覧表');
|
36
|
-
const memberRange = memberSheet.getDataRange();
|
37
|
-
|
38
|
-
//スプレッドシート
|
14
|
+
// スプレッドシートのアクティブなシートを取得
|
39
|
-
|
15
|
+
let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
|
16
|
+
// A列のデータ範囲を取得
|
40
|
-
|
17
|
+
let range = sheet.getRange("A:A");
|
41
|
-
|
18
|
+
// データ範囲内のすべてのセルの値を取得
|
19
|
+
let values = range.getValues();
|
20
|
+
// A2セルに「はい」を書き込む
|
21
|
+
sheet.getRange("A2").setValue("はい");
|
42
|
-
//
|
22
|
+
// A3セルに「いいえ」を書き込む
|
43
|
-
|
23
|
+
sheet.getRange("A3").setValue("いいえ");
|
44
|
-
memberSheet.getRange(memberLastRow + 1, 2).setValue(lastRowData[0][1]); //はい・いいえの選択肢
|
45
24
|
}
|
46
25
|
```
|
47
26
|
|