Google 工作表宏:在特定 sheet 和多个范围内自动排序

Google Sheets Macro: to auto sort on specific sheet and on multiple ranges

我正在尝试对特定 googlesheet 上的 2 个范围进行自动排序,但是,我只能让它在一个范围内工作(代码中标识的最后一个范围始终有效)。

有人知道如何修改代码以使其适用于两个范围(而不仅仅是最后一个)吗?

非常感谢!

我试图为每个代码复制整个代码并合并范围 ("b16:b55","b59:b100") 但没有任何效果。

function onEdit(){


var sh0 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0];
var editedCell = sh0.getActiveRange().getColumnIndex();

if(editedCell == 1) { 
var range = sh0.getRange("b59:h100");
var range = sh0.getRange("b16:h55");

range.sort({column: 2});
}
}

此代码始终按范围 b16-b55 的第二列中的值排序。但是,我希望它适用于该范围 AND b59:b100

如果我的理解正确的话,您希望根据第二列中的值对两个范围进行排序。

在您的脚本中,您目前立即重新分配 range,这就是 B59:H100 永远不会被排序的原因。

如果您使用两个不同的变量,则可以在第 2 列中按它们各自的值分别对它们进行排序。

var range1 = sh0.getRange("b59:h100");
var range2 = sh0.getRange("b16:h55");

range1.sort({column: 2});
range2.sort({column: 2});