Here is the following code-snippet I’m using in my Google Spreadsheet onEdit() function:
else if(editedCell.getColumn() == 13 && editedCell.getRow() == 29) {
var modVal = sheet.getRange("L29").getValue();
if(editedCell.getValue() == "Yes") {
sheet.getRange("G23").setValue(sheet.getRange("G23").getValue() + modVal);
sheet.getRange("G24").setValue(sheet.getRange("G24").getValue() + modVal);
sheet.getRange("G25").setValue(sheet.getRange("G25").getValue() + modVal);
sheet.getRange("G26").setValue(sheet.getRange("G26").getValue() + modVal);
sheet.getRange("G27").setValue(sheet.getRange("G27").getValue() + modVal);
sheet.getRange("G28").setValue(sheet.getRange("G28").getValue() + modVal);
sheet.getRange("G29").setValue(sheet.getRange("G29").getValue() + modVal);
}
else if(editedCell.getValue() == "No") {
sheet.getRange("G23").setValue(sheet.getRange("G23").getValue() - modVal);
sheet.getRange("G24").setValue(sheet.getRange("G24").getValue() - modVal);
sheet.getRange("G25").setValue(sheet.getRange("G25").getValue() - modVal);
sheet.getRange("G26").setValue(sheet.getRange("G26").getValue() - modVal);
sheet.getRange("G27").setValue(sheet.getRange("G27").getValue() - modVal);
sheet.getRange("G28").setValue(sheet.getRange("G28").getValue() - modVal);
sheet.getRange("G29").setValue(sheet.getRange("G29").getValue() - modVal);
}
}
As you can see, I’m just simply doing each cell manually line by line. Is there a way to specify an array of ranges and then do the math in a simple foreach() type function? I’m not sure how to ask my question, but I believe it’s self-apparent when looking at my code above.
Thanks.
1 Answer