作者turnoff11 (麦子真是大好人)
看板Office
标题Re: [算表] Google Excel的多层次下拉选单设定
时间Thu Oct 10 16:54:33 2019
※ 引述《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://webptt.com/cn.aspx?n=bbs/Office/M.1570697675.A.A70.html
1F:→ soyoso: 原po有在资料→已命名范围内设定吗? 10/10 17:35
2F:→ soyoso: 因为会依储存格的值,来找同命名名称,再回传命名范围 10/10 17:36
3F:→ soyoso: 如果选执行时没有符合的话,就会回传该错误 10/10 17:39
4F:→ soyoso: 如测试以abc,於之前文章内来看,命名范围内是没有这个 10/10 17:40
6F:→ soyoso: 就会回传引数不能为空值的错误 10/10 17:40
7F:→ soyoso: 但如果有的话,如冲泡饮品,就会於储存格b1内新增下拉选单 10/10 17:41