我只能让它检查范围第一列中的空白单元格。我应该如何更新代码以检查整个范围?
最好, 丹尼尔
var submitSheet = ss.getSheetByName("Submit1");
var blankTest = submitSheet.getRange(8,2,3,15).getValues();
for(var i=0; i<blankTest.length; i++){
if (blankTest[i]==""){
Browser.msgBox("Error: Blank cell.");
return;
}
}
答案 0 :(得分:1)
从getRange()返回的对象是一个二维数组。要解决这个问题,您需要2个for循环!
for(var i=0; i<blankTest.length; i++){
for(var j=0; j<blankTest[i].length; j++){
if (blankTest[i][j] == ""){
Browser.msgBox("Error: Blank cell.");
return; //this will stop the script after it find one blank cell.
//if you want it to find all of them, move it outside of the for statements.
}
}
}
答案 1 :(得分:0)
尝试一下:
function testBlankRange() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Submit1');
var rg=sh.getRange(8,2,3,15);
var vA=rg.getValues();
var nonBlank=[];
for(var i=0;i<vA.length;i++) {
for(var j=0;j<vA[i].length;j++) {
if(vA[i][j] && vA[i][j].length>0) {
nonBlank.push(Utilities.formatString('Row: %s,Col: %s,Value: %s',i+8,j+2,vA[i][j]));
}
}
}
if(nonBlank) {
SpreadsheetApp.getUi().showModelessDialog(HtmlService.createHtmlOutput(nonBlank.join(',')), 'Non Blank Cells');
}
}