检查范围内的空白单元格

时间:2019-02-16 18:15:35

标签: google-apps-script google-sheets

我只能让它检查范围第一列中的空白单元格。我应该如何更新代码以检查整个范围?

最好, 丹尼尔

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;
   }
}

2 个答案:

答案 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');
  }
}