Re: [算表] Google Excel的多層次下拉選單設定

看板Office作者 (麥子真是大好人)時間6年前 (2019/10/10 16:54), 編輯推噓0(008)
留言8則, 1人參與, 6年前最新討論串2/2 (看更多)
※ 引述《TT (< 無敵破格郎 >)》之銘言: : 軟體:Google Excel : 版本: : 原先自己都只用過很簡單的驗證方式產生下拉選單 : 但最近看到「多層次」下拉選單想練習看看 : 參考網頁教學後 : https://goo.gl/PTSQ9f : 還是有些步驟無法理解 : 大概是Step 5之後 : 請問指令碼要如何執行才能產生「多層次選單」的功效呢? : 目前測試Excel:https://goo.gl/kG4NZU : 麻煩大家指導 謝謝~ : Ps.我抄錄下來的程式碼是否有錯誤(或需要改寫才行呢?) : https://goo.gl/MmYHvj : - - - - - - - : function setDataValid_(range,sourceRange){ : var rule = : SpreadsheetApp.newDataValidation().requireValuelnRange(SourceRange,true).build(); : range.setDataValidation(rule); : } : function onEdit(){ : var aSheet = spreadsheetApp.getActiveSheet(); : var aCell = aSheet.getActiveCell(); : var aColumn = aCell.getColumn(); : if (aColumn == 1 && aSheet.getName() == '範例檔') { : var range = aSheet.getRange(aCell.getRow(), aColumn + 1); : var sourceRange = : SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue()); : setDataValid_(range, sourceRange); : } : if (aColumn == 1 && aSheet.getName() == '範例檔') { : var range = aSheet.getRange(aCell.getRow(), aColumn + 1); : var sourceRange = : SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue()); : setDataValid_(range, sourceRange); : } : } : - - - - - - - - - - 不好意思 本人為程式零經驗新手 一樣練習了一小段 function setDataValid_(range,Sourcerange){ var rule = SpreadsheetApp.newDataValidation().requireValueInRange(Sourcerange,true).build (); range.setDataValidation(rule); } function onEdit(){ var aSheet = SpreadsheetApp.getActiveSheet(); var aCell = aSheet.getActiveCell(); var aColumn = aCell.getColumn(); if (aColumn == 1 && aSheet.getName() == '工作表4') { var range = aSheet.getRange(aCell.getRow(), aColumn + 1); var SourceRange = SpreadsheetApp.getActiveSpreadsheet().getRangeByName(aCell.getValue()); setDataValid_(range,SourceRange); } } 每次選執行就會出現 引數不能為空值:range (第 2 行 我看了好幾次 也不知道問題是什麼 大家可以幫我看一下嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.77.6.236 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1570697675.A.A70.html

10/10 17:35, 6年前 , 1F
原po有在資料→已命名範圍內設定嗎?
10/10 17:35, 1F

10/10 17:36, 6年前 , 2F
因為會依儲存格的值,來找同命名名稱,再回傳命名範圍
10/10 17:36, 2F

10/10 17:39, 6年前 , 3F
如果選執行時沒有符合的話,就會回傳該錯誤
10/10 17:39, 3F

10/10 17:40, 6年前 , 4F
如測試以abc,於之前文章內來看,命名範圍內是沒有這個
10/10 17:40, 4F

10/10 17:40, 6年前 , 5F

10/10 17:40, 6年前 , 6F
就會回傳引數不能為空值的錯誤
10/10 17:40, 6F

10/10 17:41, 6年前 , 7F
但如果有的話,如沖泡飲品,就會於儲存格b1內新增下拉選單
10/10 17:41, 7F

10/10 17:41, 6年前 , 8F
文章代碼(AID): #1Tdl7Bfm (Office)
文章代碼(AID): #1Tdl7Bfm (Office)