Search code examples
google-apps-scriptgoogle-sheetsgoogle-sheets-macros

How to getRange() of a group of cells while doing iteration in a Google Apps Script?


I want to check if there is any blank cells in a given range and trying to use below code for that. Problem is Range is not certain and subject to change with every iteration. I tried something like getRange('A'+ row : 'H'+ row) but its in wrong syntax. Can someone help me with this issue ? Thanks!

var sheet1 = spreadsheet.getSheetByName('Red'); // Get worksheet
var endRow = sheet1.getLastRow();
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // Get current active spreadsheet.
var sheet2 = spreadsheet.getSheetByName('Template');
var runloop = true;
var startRow = 3;

for (var row = startRow; row <= endRow; row++) {

    var sheet_name = sheet1.getRange("A" + row).getValue(); // Get the JD number for the file name.
    var range = sheet1.getRange('A' + row: 'H' + row);

    if (range.isBlank()) {
        # Dome Something here
    }
}

Solution

  • You can concatenate the A1Notation before passing it to getRange()

    Example:

    function myFunction() {
      for (var row = 1; row <= 5; row++) {
        var rangeA = "A" + row;
        var rangeB = "H" + row;
        var range = rangeA + ":" + rangeB;
    
        Logger.log(range);
    
        // Get the JD number for the file name.
        var sheet_name = SpreadsheetApp.getActiveSheet().getRange(rangeA).getValue(); 
        var range = SpreadsheetApp.getActiveSheet().getRange(range);
    
        if (range.isBlank()) {
    
          Logger.log(range.getA1Notation() + " is blank!.");
    
        }
      }
    }
    

    Output log from the example:

    enter image description here