2015-03-30 53 views
1

這就是我想要做的。我有一個列表,填充由數據驗證創建的下拉列表。然後,我根據第一個下拉值查詢數據以填充第二個列表。除了我想將第二個下拉列表中的第一個值設置爲默認值以外,所有內容都可以工作。換句話說,如果我在第一個下拉列表中更改了值,則第二個下拉列表將顯示一個錯誤,直到我選擇下拉列表並將該值更改爲正確的值。我希望在第一個下拉列表更改時將其設置爲第一個正確的值。我之所以這樣做,是因爲我不想讓別人忘記更改第二個下拉列表,並獲得一個甚至不在該範圍內的值。如何從工作表中的另一個下拉列表中設置默認下拉列表值?

請幫助我是這種新東西。

感謝

https://docs.google.com/spreadsheets/d/1U2_0Ku1bCLfDh_v2XyE9aQMSfdYmlVfX_8SKmQay48g/edit?usp=sharing

這是我到目前爲止所。它在任何時候編輯表格時都有效,值被重置。我只希望它在單元格A2更改時重置。

function onEdit() { 
    var ss = SpreadsheetApp.getActive() 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    // IF(cellContent has changed) then clear B2 
    // else do nothing. 
    sheet.getRange('B2').clearContent(); 
    var value = sheet.getRange('H2').getValue(); 
    sheet.getRange('B2').setValue(value); 
} 
+0

您是否試圖在應用程序腳本中實現此目的。如果是,請發佈一些你已經嘗試過的代碼。 – KRR 2015-03-30 19:50:28

+0

我想盡可能地完成這個任務,我不知道它是如何完成的。任何指針都會有所幫助。 – 2015-03-30 20:58:47

回答

2

我想通了,這似乎工作得很好。

function onEdit() { 
    var sheet = SpreadsheetApp.getActiveSheet(); 
    var cell = sheet.getActiveCell(); 
    var cellR = cell.getRow(); 
    var cellC = cell.getColumn(); 
    var cellValue = cell.getValue(); 
    var active_spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); 
    var value = active_spreadsheet.getRange('H2').getValue(); 
    if (cellR == 2 && cellC == 1) { 
    sheet.getRange('B2').clearContent(); 
    sheet.getRange('B2').setValue(value); 
    } 
} 
+0

非常感謝您解決這個問題和解決方案。 – urwaCFC 2018-03-05 12:19:50

相關問題