首页 文章

排序脚本中的语法错误?

提问于
浏览
1

编写脚本以按范围排序工作表,A4到右下方单元格(因为可以添加行和/或列) . 该脚本查找最后一列/最后一行的单元格,然后使用范围var中的单元格 . 问题是,当我尝试运行此脚本时,它会在参数列表之后给出“Missing” . (第8行,文件“按游戏者标记排序”)“ . 但我已经关闭了所有的“(” .

任何建议?

谢谢

function sortByGamerTag() {

  var ss=SpreadsheetApp.getActiveSpreadsheet();
  var sht=ss.getSheetByName('Master Summary 2');
  var lastRow=sht.getLastRow();
  var lastCol=sht.getLastColumn();
  var lastCell=sht.getCell(lastCol,lastRow);
  var range = sht.getRange("A4":lastCell);
  range.sort(2);

}

1 回答

  • 1

    我认为你的脚本中有2个修改点 . 请在下面确认 .

    修改点:

    • range of getRange(range) 可以通过字符串给出 .

    • 所以请从 "A4":lastCell 改为 "A4:" + lastCell .

    • getCell() 返回范围内的给定单元格 . (Ref.)在脚本中, var lastCell=sht.getCell(lastCol,lastRow); 发生错误 .

    • 所以请从 var lastCell=sht.getCell(lastCol,lastRow); 更改为 var lastCell = sht.getRange(lastRow, lastCol).getA1Notation(); .

    修改后的脚本:

    您可以通过修改上述点来编写脚本,如下所示 .

    function sortByGamerTag() {
      var ss=SpreadsheetApp.getActiveSpreadsheet();
      var sht=ss.getSheetByName('Master Summary 2');
      var lastRow=sht.getLastRow();
      var lastCol=sht.getLastColumn();
      var lastCell = sht.getRange(lastRow, lastCol).getA1Notation();
      var range = sht.getRange("A4:" + lastCell);
      range.sort(2);
    }
    

    如果我误解了你的问题,我很抱歉 .

相关问题