0
votes

So since google scripts dont run on mobile , I'm trying to create on edit trigger to copy the active sheet if the value in L2 is " Add" ,I need now to clear Cell L2 from all sheets

my code is like this

function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var r  = sheet.getRange('L2').getValue();
if (r == "Add" )
{
 SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
  var myValue = SpreadsheetApp.getActiveSheet().getRange("M1").getDisplayValue();
  SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet("Daily Report " + myValue);
  var range1 = SpreadsheetApp.getActiveSheet().getRange('L2').clearContent();
  range1;
}}

Thanks,

2

2 Answers

1
votes

Try this:

function onEdit(e) {
  var sh=e.range.getSheet();
  if (sh.getRange('L2').getValue() == "Add" ){
    e.source.duplicateActiveSheet().setName("Daily Report " + sh.getRange('M1').getDisplayValue());
    e.source.getSheets().forEach(function(sh){sh.getRange('L2').clearContent();});
  }
}
0
votes

Here is another working code ,

function onEdit(e) {
var sheet = SpreadsheetApp.getActiveSheet();
var r  = sheet.getRange('L3').getValue();
if (r == "Add")
{
 SpreadsheetApp.getActiveSpreadsheet().duplicateActiveSheet();
  var myValue = SpreadsheetApp.getActiveSheet().getRange("M1").getDisplayValue();
  SpreadsheetApp.getActiveSpreadsheet().renameActiveSheet("Daily Report " + myValue);
  var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
  for ( var i = 0 ; i<sheets.length ; i++) {
    var sheet1 = sheets[i];
     sheet1.getRange('L3').clearContent();
}}
}