我有一个名为“心情”的专栏,其值为“快乐”或“悲伤”。 我有一栏B“你为什么难过?” with values = Stubbed toe,Hungry,Mourning
我想锁定B列中的单元格,如果A = Sad
则将其解锁如何?
谢谢!
答案 0 :(得分:0)
我想我通过一些额外的Google搜索找到了答案。这是关于其工作原理的YouTube视频,后面是视频中代码的链接:
作者所做的是在不同工作表中创建一些范围作为查找值,然后使用匹配列中的值填充选择框。
function depDrop_(range, sourceRange){
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(sourceRange, true).build();
range.setDataValidation(rule);
}
function onEdit (){
var aCell = SpreadsheetApp.getActiveSheet().getActiveCell();
var aColumn = aCell.getColumn();
if (aColumn == 1 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}
else if (aColumn == 2 && SpreadsheetApp.getActiveSheet()){
var range = SpreadsheetApp.getActiveSheet().getRange(aCell.getRow(), aColumn + 1);
var sourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue());
depDrop_(range, sourceRange);
}