Home > Mobile >  Google Sheets onEdit triggering
Google Sheets onEdit triggering

Time:11-10

I've recorded a macro that highlights a text range, copies, inserts a row on a different sheet and pastes the data. I had it working fine and triggered by clicking a button but since this doesn't work on IOS (the reason I've moved from excel in the first place) I've seen you can use check boxes and the onEdit trigger. Below is what I've got so far but it doesn't work and I can't figure out why.

function onEdit(e) {
if (e.range.getA1Notation() === 'Input Screen!e3') {
var spreadsheet = SpreadsheetApp.getActive();
spreadsheet.getRange('A3:F3').activate();
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Data Table'), true);
spreadsheet.getRange('1:1').activate();
spreadsheet.getActiveSheet().insertRowsAfter(spreadsheet.getActiveRange().getLastRow(), 1);
spreadsheet.getActiveRange().offset(spreadsheet.getActiveRange().getNumRows(), 0, 1, 
spreadsheet.getActiveRange().getNumColumns()).activate();
spreadsheet.getRange('A2').activate();
spreadsheet.getRange('\'Input Screen\'!A3:F3').copyTo(spreadsheet.getActiveRange(), 
SpreadsheetApp.CopyPasteType.PASTE_VALUES, false);
spreadsheet.setActiveSheet(spreadsheet.getSheetByName('Input Screen'), true);
spreadsheet.getRange('E3').activate();
spreadsheet.getActiveRangeList().clear({contentsOnly: true, skipFilteredRows: true});
}}

CodePudding user response:

This is how I would set it up. As for the rest of it I don't know because I don't like reading or writing code like macros do.

function onEdit(e) {
  const sh = e.range.getSheet();
  if (sh.getName() == "Input Screen" && e.range.columnStart == 5 && e.range.rowStart == 3) {
    
  }
}
  • Related