尝试对两列进行排序而不选择工作表

时间:2019-09-03 17:36:22

标签: google-apps-script google-sheets

我正在尝试从一个不总是处于活动状态的工作表中排序一个范围。但是它总是对活动表的等效范围进行排序。

function sortColumns() {
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var sheet = ss.getSheetByName('Sheet1');
  var range = sheet.getRange('B2:C3');
  range.sort({column: 2, ascending: true});
}

我认为这段代码将始终对工作表A1中的选定范围进行排序,但是它对活动工作表中的选定范围进行了排序。

1 个答案:

答案 0 :(得分:0)

我想这就是你想要的:

function sortColumns() {
  var ss=SpreadsheetApp.getActive()
  var sh=ss.getSheetByName('A1');
  var range = sh.getRange(ss.getActiveSheet().getDataRange().getA1Notation());
  range.sort({column: 2, ascending: true});
}

但我不确定。

  

重新阅读后,我意识到您需要选定的范围。所选范围仅适用于活动工作表。