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

回答編集履歴

1

a

2020/01/24 14:21

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -1,8 +1,9 @@
1
- [以前の質問](https://teratail.com/questions/234335)で回答したよに、参考してはいけないコード参考にています。
1
+ 動作確認まし。B2 り下に、セル文字打ったり、消たりすると、日付が入ったり消えたりします。
2
+ (複数範囲でのはりつけには対応していません)
2
3
 
3
4
  ```javascript
4
5
  function onEdit(e) {
5
- const sheetNameMustBe = ['シート1',"","さん"];
6
+ const sheetNameMustBe = ['シート1',"a", "さん"];
6
7
  const columnMustBe = 2;
7
8
  const rowMustBeLargerThan = 1;
8
9
  const offsetRow = 0; //書き込みは同じ行
@@ -11,9 +12,8 @@
11
12
  const c = e.range.getColumn();
12
13
  if (c !== columnMustBe) return;
13
14
  const r = e.range.getRow();
14
- if (r > rowMustBeLargerThan) return;
15
+ if (r <= rowMustBeLargerThan) return;
15
16
  if (sheetNameMustBe.indexOf(e.range.getSheet().getName()) < 0) return;
16
-
17
17
  const targetRange = e.range.offset(offsetRow, offsetCol);
18
18
  if (e.value !== undefined) {
19
19
  set(targetRange, new Date())
@@ -21,4 +21,11 @@
21
21
  del(targetRange)
22
22
  }
23
23
  }
24
+ function set(range, value) {
25
+ return range.setValue(value);
26
+ }
27
+
28
+ function del(range) {
29
+ return range.clearContent();
30
+ }
24
31
  ```