I am trying to create a script that writes to one sheet based on values set in another sheet. The script runs when an update button is clicked. The script runs well and I get the desired outcome but once it has completed the task it then errors out with the above error. Not sure where I am going wrong.
function UPDATE(){
var ss = SpreadsheetApp.getActiveSpreadsheet(); //Get the Spreadsheet
var s = ss.getActiveSheet(); //Get the Sheet
Logger.log('Script started');//Log Script Start
//Prepare a datestamp
var timeZone = Session.getScriptTimeZone();
date = Utilities.formatDate(new Date(), timeZone, "dd/MM/yyyy HH:mm:ss");
//Check Active Sheet is correct
if( s.getName() == "ABA"){
var sheet2 = ss.getSheetByName('Filtering');//Get the Data Sheet
var data = s.getDataRange().getValues(); //Get Active Sheet Data Values
var data2 = sheet2.getDataRange().getValues(); //Get Data Sheet Data Values
//Run through Active Sheet Data Values
for(var i = 0; i<data[0].length; i++){
//Check if Required Column has been altered
if(data[i][12] > 0){
var the_id = s.getRange(i+1,2).getValue(); // Set ID of altered Row
var assignee = s.getRange(i+1, 13).getValue(); // Get Value of altered column
//Find corresponding ID in Data Sheet Data Values
for(var j = 0; i<data2[0].length-1; j++){
//Check is row contains ID
if(data2[j][0] == the_id){
sheet2.getRange(j+1, 21).setValue(assignee); //WRITE to Data Sheet
sheet2.getRange(j+1, 23).setValue(date); //WRITE to Data Sheet
s.getRange(i+1, 12).setValue(""); //Blank Altered Row value
}
}
}
}
s.getRange(2, 4).setValue("Updated @ "+date);//WRITE to Active Sheet to Show Update completed
}
}