2017-06-14 162 views
0

我创建了以下脚本来对谷歌表中某些页面上的数据进行排序,它将只运行第二个函数,而不是第一个函数。我是新手编程和切换到excel表单。我相信它的一些小而明显的东西,但我无法弄清楚。我感谢任何帮助。Google Sheet脚本

function onEdit(event){ 
var sheet = event.source.getActiveSheet(); 
if(sheet.getName() ==='ADMIN') 
var editedCell = sheet.getActiveCell(); 

var columnToSortBy = 1; 
var tableRange = "A2:G48"; // What to sort. 

if(editedCell.getColumn() == columnToSortBy){ 
var range = sheet.getRange(tableRange); 
range.sort({ column : columnToSortBy, ascending: true }); 
} 
} 

function onEdit(event){ 
var sheet = event.source.getActiveSheet(); 
if(sheet.getName() ==='HQ', 'ARMT', 'MAINT', 'AVNX', 'SHOPS') 
var editedCell = sheet.getActiveCell(); 

var columnToSortBy = 2; 
var tableRange = "A4:D40"; // What to sort. 

if(editedCell.getColumn() == columnToSortBy){ 
var range = sheet.getRange(tableRange); 
range.sort({ column : columnToSortBy, ascending: true }); 
} 
} 
+0

我看不出来,但其他人可能如果你给他们一个机会,通过共享一个链接看片(也许只是只能查看),这样他们就可以将它复制并使用它。 –

回答

0

在JavaScript和谷歌脚本中,函数是对象。你在这里做的是创建一个对象(函数onEdit),然后再次创建它。这就像将一个名为xyz的变量设置为4,然后将相同的变量设置为14.最后一个集合是重要的。你可以通过将这些函数合并在一起来完成你想要的,所以你只需要一个onEdit,或者命名一个(或者两个),然后让onEdit调用它们。

function onEdit(event) { 
    first(event); 
    second(event); 
} 

function first(event) { 
    var sheet = event.source.getActiveSheet(); 
    if (sheet.getName() === 'ADMIN') 
     var editedCell = sheet.getActiveCell(); 

    var columnToSortBy = 1; 
    var tableRange = "A2:G48"; // What to sort. 

    if (editedCell.getColumn() == columnToSortBy) { 
     var range = sheet.getRange(tableRange); 
     range.sort({ 
      column: columnToSortBy, 
      ascending: true 
     }); 
    } 
} 

function second(event) { 
    var sheet = event.source.getActiveSheet(); 
    if (sheet.getName() === 'HQ', 'ARMT', 'MAINT', 'AVNX', 'SHOPS') 
     var editedCell = sheet.getActiveCell(); 

    var columnToSortBy = 2; 
    var tableRange = "A4:D40"; // What to sort. 

    if (editedCell.getColumn() == columnToSortBy) { 
     var range = sheet.getRange(tableRange); 
     range.sort({ 
      column: columnToSortBy, 
      ascending: true 
     }); 
    } 
}