Forum Discussion
mikemilstead
Sep 12, 2024Copper Contributor
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 ...
- Sep 12, 2024
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.
SergeiBaklan
MVP
Multicolumn sort could be
function main(workbook: ExcelScript.Workbook) {
const range = workbook
.getActiveWorksheet()
.getUsedRange()
const columnIndex = (header: string): number =>
range.getRow(0)
.find(header, { completeMatch: true })
.getColumnIndex()
range.getSort().apply(
[
{ key: columnIndex("Customer Name"), ascending: true }
, { key: columnIndex("Description"), ascending: true }
, { key: columnIndex("Date"), ascending: true }
],
false,
true,
ExcelScript
.SortOrientation
.rows)
}
mikemilstead
Sep 13, 2024Copper Contributor
Perfect!
Thank you for all your help.
Thank you for all your help.
- SergeiBaklanSep 13, 2024MVP
mikemilstead , you are welcome