Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script GoogleSheets脚本适用于某些选项卡,而不适用于其他选项卡_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script GoogleSheets脚本适用于某些选项卡,而不适用于其他选项卡

Google apps script GoogleSheets脚本适用于某些选项卡,而不适用于其他选项卡,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正在尝试自动化工作表,以便根据日期对行进行排序,并在选中复选框时传输行。我弄清楚了传输部分,但排序功能只对我要删除的选项卡有效,而对我保留的选项卡无效,我不明白为什么 以下是两个排序函数,它们都可以使用,但在我需要它们使用的选项卡上却无法使用: 函数onEdit(事件){ //假定工作表中名为“活动”的源数据 //移动到命名的目标工作表已完成 //带有复选框的getColumn当前设置为colu 8或H var ss=SpreadsheetApp.getActiveSpreadsheet()

我正在尝试自动化工作表,以便根据日期对行进行排序,并在选中复选框时传输行。我弄清楚了传输部分,但排序功能只对我要删除的选项卡有效,而对我保留的选项卡无效,我不明白为什么

以下是两个排序函数,它们都可以使用,但在我需要它们使用的选项卡上却无法使用:

函数onEdit(事件){
//假定工作表中名为“活动”的源数据
//移动到命名的目标工作表已完成
//带有复选框的getColumn当前设置为colu 8或H
var ss=SpreadsheetApp.getActiveSpreadsheet();
var s=event.source.getActiveSheet();
var r=event.source.getActiveRange();
//使用D列或4列,按顶部最早的日期对活动进行排序
var sheet=event.source.getActiveSheet();
var editedCell=sheet.getActiveCell();
var columnToSortBy=4;
var tableRange=“A2:T99”;//要排序的内容。
如果(editedCell.getColumn()==ColumntToSortby){
var范围=sheet.getRange(tableRange);
排序({column:columnToSortBy,升序:true});
}

}
尝试按第4列进行排序:

function myFunction() {
  var sh=SpreadsheetApp.getActive().getSheetByName("Active");
  sh.getRange(2,1,sh.getLastRow()-1,sh.getLastColumn()).sort({column:4,ascending;true});
}

这主要是有效的,只有很少的编辑。显然,它需要一个基于事件的函数,这是我最初尝试过的,但我的代码无效。非常感谢您提供了非常周到(且简短)的代码!