Google表格脚本-使用数组进行数据验证

问题描述 投票:0回答:1

[使用Java,我试图找到包含任何文本的单元格,获取数据并将其放入数组,然后将其用于下拉数据验证单元格。

我尝试了各种不同的创建数组的方法,但是每个方法都没有创建下拉单元格,而是将其留空。

var carerList=new Array();
    for (var i=19;sheet.getRange('G'+[i])!="";i++){
    var j=0;
    carerList[j].push(sheet.getRange('G'+[i]).getValue());
    j++; 
}
var dV=sheet.getRange('G2').getDataValidation();
dV.setAllowInvalid(false);
dV.requireValueInList(carerList, true);
sheet.getRange("G2").setDataValidation(dV);

我想在G2中进行一个很好的小数据验证,其中没有任何空白值。

arrays validation google-apps-script
1个回答
1
投票

对于遇到类似问题的任何人,这是我发现有效的完整代码答案。

//sort out the dropdown for choosing carer in G2  

//Get the last row of carers  
var Gvals = sheet.getRange("G19:G").getValues();
var Glast = Gvals.filter(String).length + 18;

//make the validation work
var cell = SpreadsheetApp.getActive().getRange('G2');
var range = SpreadsheetApp.getActive().getRange('G19:G'+Glast);
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);

再次感谢TheMaster推动正确答案。

© www.soinside.com 2019 - 2024. All rights reserved.