質問編集履歴

1

質問とコードをシンプルにしました

2024/02/01 05:10

投稿

new_rabbit
new_rabbit

スコア17

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
- GASでスレッドシート1の情報をスプレッドシート2に情報を書き込むことができたのですが、プルダウンのところでも、そのままテキストとして書き込まれてしまいます。
6
+ プルダウンに反映させる方法。テキストとしてそのま表示されてしまいます。
10
-
11
7
 
12
8
 
13
9
 
14
10
  ### 該当のソースコード
15
11
 
16
12
  ```JavaScript
17
- function newWrite() {
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
- const memberLastRow = memberSheet.getLastRow();
15
+ let sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
16
+ // A列のデータ範囲を取得
40
- Logger.log(memberLastRow + "");
17
+ let range = sheet.getRange("A:A");
41
-
18
+ // データ範囲内のすべてのセルの値を取得
19
+ let values = range.getValues();
20
+ // A2セルに「はい」を書き込む
21
+ sheet.getRange("A2").setValue("はい");
42
- //lastRowDataの情報一覧表のシートに書き込む
22
+ // A3セルに「いいえ」を書き込む
43
- memberSheet.getRange(memberLastRow + 1, 1).setValue(lastRowData[0][0]); //はの選択肢
23
+ sheet.getRange("A3").setValue("いいえ");
44
- memberSheet.getRange(memberLastRow + 1, 2).setValue(lastRowData[0][1]); //はい・いいえの選択肢
45
24
  }
46
25
  ```
47
26