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

回答編集履歴

6

修正

2019/01/09 09:03

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  }
18
18
  function resetBgColorF() {
19
- // SpreadsheetApp.getActiveSheet().getDataRange().setBackground("white");
19
+ // SpreadsheetApp.getActiveSheet().getDataRange().setBackground(null);
20
- SpreadsheetApp.getActiveSheet().getRange("F:F").setBackground("white"); //F列のみ背景をリセット
20
+ SpreadsheetApp.getActiveSheet().getRange("F:F").setBackground(null); //F列のみ背景をリセット
21
21
  }
22
22
  ```

5

修正

2019/01/09 09:03

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -10,12 +10,13 @@
10
10
  }
11
11
  function onOpen(){
12
12
  const myMenu=[
13
- {name: "背景色リセット", functionName: "resetBgColor"},
13
+ {name: "背景色リセット(F列全部)", functionName: "resetBgColorF"},
14
14
  ];
15
15
  SpreadsheetApp.getActiveSpreadsheet().addMenu("tool",myMenu); //メニューを追加
16
16
 
17
17
  }
18
- function resetBgColor() {
18
+ function resetBgColorF() {
19
- SpreadsheetApp.getActiveSheet().getDataRange().setBackground("white");
19
+ // SpreadsheetApp.getActiveSheet().getDataRange().setBackground("white");
20
+ SpreadsheetApp.getActiveSheet().getRange("F:F").setBackground("white"); //F列のみ背景をリセット
20
21
  }
21
22
  ```

4

修正

2019/01/09 08:32

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -4,6 +4,7 @@
4
4
 
5
5
  ```javascript
6
6
  function onEdit(e) {
7
+ if(e.range.getColumn() !== 6) { return; } // F列以外なら中断する
7
8
  const colname = "pink";
8
9
  e.range.setBackground(colname)
9
10
  }

3

ほそく

2019/01/09 07:38

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -1,7 +1,20 @@
1
1
  こういうスクリプトをかけば、プルダウンだろうが何だろうが、編集したセルがピンクになります。
2
+
3
+ さらに、スプレッドシートを開き直せば、メニューにtoolが増え、そこに「背景色リセット」というのがあるので、これを押せば、データがある矩形範囲の全部の背景色が白になります。
4
+
2
5
  ```javascript
3
6
  function onEdit(e) {
4
7
  const colname = "pink";
5
8
  e.range.setBackground(colname)
6
9
  }
10
+ function onOpen(){
11
+ const myMenu=[
12
+ {name: "背景色リセット", functionName: "resetBgColor"},
13
+ ];
14
+ SpreadsheetApp.getActiveSpreadsheet().addMenu("tool",myMenu); //メニューを追加
15
+
16
+ }
17
+ function resetBgColor() {
18
+ SpreadsheetApp.getActiveSheet().getDataRange().setBackground("white");
19
+ }
7
20
  ```

2

戻す

2019/01/09 07:32

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -1,10 +1,7 @@
1
1
  こういうスクリプトをかけば、プルダウンだろうが何だろうが、編集したセルがピンクになります。
2
- また、ピンク状態から編集したときに限り、白に戻すように加筆しております。
3
- ただし、「戻した」「リセットされた」「2度目以降の編集である」は判定できないので、要件を追記してください。
4
2
  ```javascript
5
3
  function onEdit(e) {
6
- const bgCol = e.range.getBackground();
4
+ const colname = "pink";
7
- const colname = bgCol === "#ffc0cb" ? "white" : "pink";
8
5
  e.range.setBackground(colname)
9
6
  }
10
7
  ```

1

修正

2019/01/09 07:24

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -1,7 +1,10 @@
1
1
  こういうスクリプトをかけば、プルダウンだろうが何だろうが、編集したセルがピンクになります。
2
+ また、ピンク状態から編集したときに限り、白に戻すように加筆しております。
2
3
  ただし、「戻した」「リセットされた」「2度目以降の編集である」は判定できないので、要件を追記してください。
3
4
  ```javascript
4
5
  function onEdit(e) {
6
+ const bgCol = e.range.getBackground();
7
+ const colname = bgCol === "#ffc0cb" ? "white" : "pink";
5
- e.range.setBackground("pink")
8
+ e.range.setBackground(colname)
6
9
  }
7
10
  ```