Note that there are some explanatory texts on larger screens.

plurals
  1. POsimplify and rearrange my google script for faster process this often stucks in the middle of the process
    primarykey
    data
    text
    <p>Can anyone simplify and rearrange my script such that it works faster without stucking . This script was made to extract spreadsheet data from 4 spreadsheets and deleting blank rows based on a column criteria, This script is working well but taking long time and suddenly/often breaks process saying that spreadsheet page needs to refresh thus stopping the entire process. which should follow with rerunning the script. - Thanks in advance.</p> <p>my script is as follows :</p> <pre><code>function myFunction() { // spreadsheets key to extract data. //Bhaskar 0AjkkHlm3kCphdFh3M2dtRDdoZHhWZlg5UzFjSWZFcVE //RAmohan 0AjkkHlm3kCphdGFlNTVhSDc5VXVTeS0xc2ZISDRGZlE //Krishnareddy 0AjkkHlm3kCphdEhDWEllalpoM3VmNE5weUNLZkd4TVE //Suni 0AjkkHlm3kCphdFUxTXJlN3lGYkRMY2NXUUkzSTVfbEE var copieddata = SpreadsheetApp.openById('0AjkkHlm3kCphdFh3M2dtRDdoZHhWZlg5UzFjSWZFcVE'). getSheetByName('List').getDataRange().getValues(); //getSheetByName('List').getRange('I6:AT500').getValues(); var s1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); SpreadsheetApp.setActiveSheet(s1); //getRange(StartingROWS(1,2,3,4,...),StartingCOLUMNS(A,B,C,D..), s1.getRange(1,1,copieddata.length,copieddata[0].length).setValues(copieddata); //var col1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumColumns(); //var row1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumRows(); SpreadsheetApp.flush(); //force the data to be written // here ends sheet 1 ------- var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var numRows = sheet.getLastRow(); var datasheet = sheet.getDataRange(); var data = datasheet.getValues(); //Browser.msgBox(" data lenght -" + data.length + " rage is " + datasheet); for (var i = data.length; i &gt; 0; --i){ var ii=i-1; var row = data[ii]; var name = row[6]; var len = name.length; //Browser.msgBox("row number" + i + " -&gt;" + row[10] + "&lt;- its length =" + len); if(name.length!=3){ //Browser.msgBox("delete ." + i); sheet.deleteRow(i); } SpreadsheetApp.flush(); //force the data to be written } SpreadsheetApp.flush(); //force the data to be written // ------------------ var lrange = SpreadsheetApp.getActiveSheet().getLastRow(); //Browser.msgBox("l range - " + lrange); var copieddata = SpreadsheetApp.openById('0AjkkHlm3kCphdGFlNTVhSDc5VXVTeS0xc2ZISDRGZlE'). getSheetByName('List').getDataRange().getValues(); var s1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); SpreadsheetApp.setActiveSheet(s1); s1.getRange((lrange+1),1,copieddata.length,copieddata[0].length).setValues(copieddata); //var col1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumColumns(); //var row1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumRows(); SpreadsheetApp.flush(); //force the data to be written // here ends sheet 2 ------- var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var numRows = sheet.getLastRow(); var datasheet = sheet.getDataRange(); var data = datasheet.getValues(); //Browser.msgBox(" data lenght -" + data.length + " rage is " + datasheet); for (var i = data.length; i &gt; 0; --i){ var ii=i-1; var row = data[ii]; var name = row[6]; var len = name.length; //Browser.msgBox("row number" + i + " -&gt;" + row[10] + "&lt;- its length =" + len); if(name.length!=3){ //Browser.msgBox("delete ." + i); sheet.deleteRow(i); } SpreadsheetApp.flush(); //force the data to be written } // ------------------ var lrange = SpreadsheetApp.getActiveSheet().getLastRow(); //Browser.msgBox("l range - " + lrange); var copieddata = SpreadsheetApp.openById('0AjkkHlm3kCphdEhDWEllalpoM3VmNE5weUNLZkd4TVE'). getSheetByName('List').getDataRange().getValues(); var s1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); SpreadsheetApp.setActiveSheet(s1); s1.getRange((lrange+1),1,copieddata.length,copieddata[0].length).setValues(copieddata); //var col1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumColumns(); //var row1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumRows(); SpreadsheetApp.flush(); //force the data to be written // here ends sheet 3 ------- var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var numRows = sheet.getLastRow(); var datasheet = sheet.getDataRange(); var data = datasheet.getValues(); //Browser.msgBox(" data lenght -" + data.length + " rage is " + datasheet); for (var i = data.length; i &gt; 0; --i){ var ii=i-1; var row = data[ii]; var name = row[6]; var len = name.length; //Browser.msgBox("row number" + i + " -&gt;" + row[10] + "&lt;- its length =" + len); if(name.length!=3){ //Browser.msgBox("delete ." + i); sheet.deleteRow(i); } SpreadsheetApp.flush(); //force the data to be written } // ------------------ var lrange = SpreadsheetApp.getActiveSheet().getLastRow(); //Browser.msgBox("l range - " + lrange); var copieddata = SpreadsheetApp.openById('0AjkkHlm3kCphdFUxTXJlN3lGYkRMY2NXUUkzSTVfbEE'). getSheetByName('List').getDataRange().getValues(); var s1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); SpreadsheetApp.setActiveSheet(s1); s1.getRange((lrange+1),1,copieddata.length,copieddata[0].length).setValues(copieddata); //var col1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumColumns(); //var row1count = SpreadsheetApp.getActiveSheet().getRange(1,1,copieddata.length,copieddata[0].length).getNumRows(); SpreadsheetApp.flush(); //force the data to be written // here ends sheet 4 ------- var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var numRows = sheet.getLastRow(); var datasheet = sheet.getDataRange(); var data = datasheet.getValues(); //Browser.msgBox(" data lenght -" + data.length + " rage is " + datasheet); for (var i = data.length; i &gt; 0; --i){ var ii=i-1; var row = data[ii]; var name = row[6]; var len = name.length; //Browser.msgBox("row number" + i + " -&gt;" + row[10] + "&lt;- its length =" + len); if(name.length!=3){ //Browser.msgBox("delete ." + i); sheet.deleteRow(i); } SpreadsheetApp.flush(); //force the data to be written } } </code></pre> <p>spreadsheet link is as follows : <a href="https://docs.google.com/spreadsheet/ccc?key=0AjkkHlm3kCphdGtmOWxNNDhmM2h6ZTZKQlpsbVZUVUE" rel="nofollow">Clik here to enter into my spreadsheet</a></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload