[使用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中进行一个很好的小数据验证,其中没有任何空白值。
对于遇到类似问题的任何人,这是我发现有效的完整代码答案。
//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推动正确答案。