随着时间的推移,我的电子表格会自动添加额外的行和列。我可以用什么替换T99
值以使范围在 A2 单元格向下和水平方向上无限大?
/**
* Automatically sorts the 8th column (not the header row) Ascending.
*/
function onEdit(event){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 8;
var tableRange = "A2:T99"; // What to sort.
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy, ascending: true } );
}
我知道我可以将A2:A
用于无限列,A2:2
用于无限行,但不确定如何用于二维范围。
sh.getRange(startrow,startcolumn,sh.getLastRow()-startRow+1,sh.getLastColumn()-startcolumn+1);
我不会称它为无限...
在您的代码中:
function onEdit(e){
var sh=e.range.getSheet();
sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()).sort({column:8,ascending:true});
}
我用"无限范围"代替的术语是"开放式"。顺便说一下,A2:A
和A2:2
是二维范围,第一个有一列和多行,第二个有一行和多列。
只需将"A2:T99"
替换为"A2:T"
即可。请记住,这将占用所有行。防止空白行显示在顶部的一种简单方法是删除它们,尤其是在排序之前。
您的函数与上述更改
/**
* Automatically sorts the 8th column (not the header row) Ascending.
*/
function onEdit(event){
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var editedCell = sheet.getActiveCell();
var columnToSortBy = 8;
var tableRange = "A2:T"; // What to sort.
var range = sheet.getRange(tableRange);
range.sort( { column : columnToSortBy, ascending: true } );
}