我如何引用二维无限范围,即无限表?



随着时间的推移,我的电子表格会自动添加额外的行和列。我可以用什么替换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:AA2: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 } );
}

最新更新