Google Sheets – Sorting Columns with Script Instead of Macro

google sheetsgoogle-apps-scriptsorting

I currently use a macro script to filter my sheet upon opening the sheet by column A, and I wondered if there was a more efficient/simple way to do it with scripts?

  function Sort() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('3:138').activate();
  spreadsheet.getRange('3:138').createFilter();
  spreadsheet.getRange('A3').activate();
  spreadsheet.getActiveSheet().getFilter().sort(1, true);
  spreadsheet.getActiveSheet().getFilter().remove();
};

Link: https://docs.google.com/spreadsheets/d/1qpoTEE1bJdGt1rVVAETvh2kGG5EQy4wB1dYnhiTefA4/edit?usp=sharing

Best Answer

  • you can try like this in script editor:

    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var sheet = ss.getSheetByName("AGL");
    var range = sheet.getRange("A4:C");

    function onEdit(e) { range.sort([{column: 1, ascending: true}, {column: 2, ascending: false}]); }