0

我是Google新手,希望有人能回答這個問題。Google Spreadsheet如何使用「onedit」通過if語句更改單元格?

我有7列,每一個都有一個下拉框,以便我們可以選擇狀態爲「就緒」,「批准」,「等待」等

不久將有超過500行狀態,這樣最好我想在每列上有一個函數來自動設置列之後的狀態。

實施例細胞:

Ready|Waiting|Waiting|Waiting|Waiting|Waiting|Waiting 

當第一任務被批准,所述細胞應該是這樣的:

Approved|Ready|Waiting|Waiting|Waiting|Waiting|Waiting 

在上述示例中,第一單元應當被點擊「已批准」由該用戶從下拉列表中。然後腳本應該讀取單元格編輯,並將下一個單元格從「正在等待」切換到「準備就緒」

我正在查看腳本路由,因爲我需要將下拉單元格點擊。如果我把一個函數放到單元格本身,我會失去下拉選項。

任何幫助,這將是非常棒!

在此先感謝!

回答

0

你可能要檢查這個YouTube video,這轉錄的代碼可以被調整,以滿足您的需求:

function setDataValid_(range, sourceRange) { 
    var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build(); 
    range.setDataValidation(rule); 
} 

function onEdit() { 
    var aSheet = SpreadsheetApp.getActiveSheet(); 
    var aCell = aSheet.getActiveCell(); 
    var aColumn = aCell.getColumn(); 

    if (aColumn == 1 && aSheet.getName() == 'Worksheet') { 
    var range = aSheet.getRange(aCell.getRow(), aColumn + 1); 
    var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue()); 
    setDataValid_(range, sourceRange) 
    } 
} 

而對於額外的見解,你可能還希望看到這個thread

相關問題