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});
我正在尝试对特定 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});