我的電子表格的第一列在每個單元格中都有下拉列表,其中包含選項「是」和「否」。基於Google Spreadsheets中的另一個單元禁用和啓用單元格
如果選擇「是」,我希望在同一行中啓用單元格,下一列與另一個下拉列表中的選項「紅色」和「藍色」。如果選擇「否」,則下一個單元應保持禁用狀態。
到目前爲止,我已經嘗試在單元格B3中將自定義公式的數據驗證菜單設置爲=if(B2="Yes", "red", "blue")
,但它不起作用。
我該怎麼做?
我的電子表格的第一列在每個單元格中都有下拉列表,其中包含選項「是」和「否」。基於Google Spreadsheets中的另一個單元禁用和啓用單元格
如果選擇「是」,我希望在同一行中啓用單元格,下一列與另一個下拉列表中的選項「紅色」和「藍色」。如果選擇「否」,則下一個單元應保持禁用狀態。
到目前爲止,我已經嘗試在單元格B3中將自定義公式的數據驗證菜單設置爲=if(B2="Yes", "red", "blue")
,但它不起作用。
我該怎麼做?
您可以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
我得到這個腳本的錯誤:TypeError:無法從undefined讀取屬性「range」。 (第4行,「代碼」文件) – user110327
聽起來像您需要在腳本編輯器中批准腳本。如果不被批准,則事件(e)是空白的,腳本將失敗。 –
查看YouTube從賈森Jurotich視頻的這裏有一個[鏈接](https://youtu.be/rW9T4XZy-7U)一個。 – Cooper