I want to make it so whenever a cell in column 9 is edited, if the new cell value is different from “Ok”, the range “newRange” gets it value set to “Yes”; and if the new cell value is equal to “Ok”, “newRange” gets its content cleared.
Here’s my attempt:
JavaScript
x
16
16
1
function onEdit(e){
2
3
var range = e.range;//The range of cells edited
4
var columnOfCellEdited = range.getColumn();
5
6
var newRange = range.offset(0,3);
7
var rangeValue = range.getValue();
8
9
if (columnOfCellEdited === 9 && rangeValue != "Ok") {
10
newRange.setValue("Yes");
11
}
12
else if (columnOfCellEdited === 9 && rangeValue === "Ok") {
13
newRange.clear();
14
}
15
}
16
The first part works great, but the content in “newRange” doesn’t get cleared if I change the value of a cell in column 9 to “Ok”. Can someone please tell me what I’m doing wrong? Thanks in advance.
Advertisement
Answer
Try this:
JavaScript
1
11
11
1
function onEdit(e) {
2
const sh = e.range.getSheet();
3
if (sh.getName() == 'Your desire sheet name') {
4
if (e.range.columnStart == 9 && e.value != "Ok") {
5
e.range.offset(0, 3).setValue("Yes");
6
} else if (e.range.columnStart == 9 && e.value == "Ok") {
7
e.range.offset(0, 3).clear();
8
}
9
}
10
}
11