I am a beginner to AppScript. I am developing a code for OnEdit where the function is something like this
function onEdit(e) { if(SpreadsheetApp.openByUrl(url).getActiveSheet == "USERNAMES" && e.range.columnStart == 2 ) { formulasheets(); } } But it is not working I editted something in column B. I want the onedit function to work when there is modification done to column B. Can anyone help me on this?
Code.gs
var url = "https://docs.google.com/spreadsheets/d/1bM8l6JefFsPrlJnTWf56wOhnuSjdIwg3hMbY1tN1Zp8/edit#gid=531487589"; function onEdit(e) { if(SpreadsheetApp.openByUrl(url).getActiveSheet == "USERNAMES" && e.range.columnStart == 2 ) { formulasheets(); } } function doPost(e) { var rowData = []; var ss = SpreadsheetApp.openByUrl(url); var sheet = ss.getSheetByName("PaypalData"); rowData.push(new Date(e.parameter.payment_date)); rowData.push(e.parameter.item_number); rowData.push(e.parameter.option_selection1); rowData.push(e.parameter.payment_status); rowData.push(e.parameter.payment_gross); rowData.push(e.parameter.mc_currency); rowData.push(e.parameter.payment_fee); rowData.push(e.parameter.first_name); rowData.push(e.parameter.last_name); rowData.push(e.parameter.payer_email); rowData.push(e.parameter.residence_country); rowData.push(e.parameter.txn_id); sheet.appendRow(rowData); } function getLast(range) { var getResult = function(range) { if (!((range.getNumRows() > 1 && range.getNumColumns() == 1) || (range.getNumRows() == 1 && range.getNumColumns() > 1))) { throw new Error("Please input one row or one column."); } var v = Array.prototype.concat.apply([], range.getValues()); var f = Array.prototype.concat.apply([], range.getFormulas()); var i; for (i = v.length - 1; i >= 0; i--) { if (v[i] != "" || f[i] != "") break; } return i + 1; }; if (Array.isArray(range)) { return range.map(function(e) { return getResult(e); }); } else { try { range.getA1Notation(); } catch (e) { throw new Error("Inputted value is not a range."); } return getResult(range); } } function formulasheets(){ var ss = SpreadsheetApp.openByUrl(url); var sheet = ss.getSheetByName("USERNAMES"); sheet.getRange("A2").setFormula('=B2:B &"."&substitute(substitute(lower(C2:C),"jalan","jln")," ","")'); sheet.getRange("F2").setFormula("=COUNTIF('Payment Configuration'!A:A,A2:A) + COUNTIF('Payment Configuration'!E:E,A2:A)"); sheet.getRange("I2").setFormula('=join(", ",{B2,UPPER(C2),"BANDAR PUTERI KLANG"})'); var range1 = sheet.getRange("B:B"); var lr = getLast(range1); // Retrieve last row of column 2. var fillDownRangecolumnA = sheet.getRange(2, 1, lr-1); var fillDownRangecolumnF = sheet.getRange(2, 6, lr-1); var fillDownRangecolumnI = sheet.getRange(2, 9, lr-1); sheet.getRange("A2").copyTo(fillDownRangecolumnA); sheet.getRange("F2").copyTo(fillDownRangecolumnF); sheet.getRange("I2").copyTo(fillDownRangecolumnI); }