2017-08-10 114 views
0

我的電子表格的第一列在每個單元格中都有下拉列表,其中包含選項「是」和「否」。基於Google Spreadsheets中的另一個單元禁用和啓用單元格

如果選擇「是」,我希望在同一行中啓用單元格,下一列與另一個下拉列表中的選項「紅色」和「藍色」。如果選擇「否」,則下一個單元應保持禁用狀態。

到目前爲止,我已經嘗試在單元格B3中將自定義公式的數據驗證菜單設置爲=if(B2="Yes", "red", "blue"),但它不起作用。

我該怎麼做?

+0

查看YouTube從賈森Jurotich視頻的這裏有一個[鏈接](https://youtu.be/rW9T4XZy-7U)一個。 – Cooper

回答

0

您可以onEdit和腳本這樣做:

function onEdit(e) { 
    var ss = SpreadsheetApp.getActiveSpreadsheet() 
    var s=ss.getActiveSheet() 
    var col=e.range.getColumn() 
    var ro=e.range.getRow() 
    var nota=e.range.getA1Notation() 
    if(col==1){ 
    var val=e.range.getValue() 
    if(val=="No"){ 
    s.getRange(ro,2,1,1).setDataValidation(null) 
    } 
     else{ 
     s.getRange(ro,2,1,1).clearContent()  
     var cell = s.getRange(ro,2,1,1); 
     var rule = 
SpreadsheetApp.newDataValidation().requireValueInList(['Red', 'Blue']).build(); 
cell.setDataValidation(rule); 
     }}} 

下面是一個例子份額。複製並嘗試它。

https://docs.google.com/spreadsheets/d/1wHA1Rz9U9dr4n8DntLvZWPe4izck7xgi3ygUpx-uNmo/edit?usp=sharing

+0

我得到這個腳本的錯誤:TypeError:無法從undefined讀取屬性「range」。 (第4行,「代碼」文件) – user110327

+0

聽起來像您需要在腳本編輯器中批准腳本。如果不被批准,則事件(e)是空白的,腳本將失敗。 –

相關問題