Forum Discussion

mikemilstead's avatar
mikemilstead
Copper Contributor
Sep 12, 2024

Select entire sheet then sort on one column (automated)

Total newb here... This should be very simple. Automate > Record Actions Right-Click to the left of Column A (This highlights the entire sheet) Sort > Custom Sort Sort on Col J ("Amount" is the ...
  • SergeiBaklan's avatar
    Sep 12, 2024

    mikemilstead 

    I'm not sure how recorder works, the script could be

     

    function main(workbook: ExcelScript.Workbook) {
    
    	const range = workbook
    		.getActiveWorksheet()
    		.getUsedRange()
    
    	const sortedColumnIndex = range
    		.getRow(0)                // get first row, i.e. headers
    		.find("Amount", { completeMatch: true })
    		.getColumnIndex()
    
    	range.getSort().apply(          // apply to entire range
    		[{
    			ascending: true,        // sort order
    			key: sortedColumnIndex  // on column to sort
    		}],
    		false,                     //case insensitive
    		true,                      // range with headers
    		ExcelScript
    			.SortOrientation
    			.rows                  // sort by rows
    	)
    }

     

    We select only range with data, not entire sheet. Find column number for the cell with "Amount". Apply sorting to entire range, not to one column. Use above column as one on which we do sorting.

Resources