2017-08-10 57 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)是空白的,脚本将失败。 –

相关问题