Проверьте наличие пустых ячеек в диапазоне - PullRequest
0 голосов
/ 16 февраля 2019

Я могу получить его только для проверки пустых ячеек в первом столбце диапазона.Как мне обновить мой код, чтобы проверить весь диапазон?

Best, Daniel

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 голосов
/ 16 февраля 2019

Попробуйте это:

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');
  }
}
0 голосов
/ 16 февраля 2019

Объект, возвращаемый из getRange (), является двумерным массивом.Чтобы справиться с этим нужно 2 петли!

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. 
    }
 }
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...