2017-06-14 196 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 
     }); 
    } 
}