title: Looping through sheets in Google Spreadsheet and using getSheetName()
body: <p>I'm writing a script to loop through each sheet in one spreadsheet and copy data from specific cells into a corresponding sheet on another spreadsheet.  I am getting an error on line 18 of the below code, however, stating that it can't call the getLastRow method of null.  I used a couple of Logger.log lines to check my variables and see that targetSheet is coming back as null.  Any advice on what I've got wrong?</p>
  
  <pre><code>//Export each sheet's daily data to another sheet *Test Version*
  function exportReports() {
    var sourceSS = SpreadsheetApp.getActiveSpreadsheet();
    //Open Back Production Record *Test Version*
    var targetSS = SpreadsheetApp.openById("1ZJKZi-UXvqyGXW9V7KVx8whxulZmx0HXt7rmgIJpUY4");
    var allSourceSheets = sourceSS.getSheets();
  
    //For-Loop to loop through hourly production sheets, running the move data for-loop on each
    for(var s in allSourceSheets){
  
      var loopSheet = allSourceSheets[s];
      var loopSheetName = loopSheet.getSheetName();
      var targetSheet = targetSS.getSheetByName(loopSheetName);
      Logger.log(s);
      Logger.log(loopSheet);
      Logger.log(targetSheet);
      Logger.log(loopSheetName);
      var targetRow = targetSheet.getLastRow()+1;
      var currentDate = Utilities.formatDate(new Date(), "GMT-5", "MM/dd/yy");
  
      targetSheet.getRange(targetRow, 1).setValue(currentDate);
      //For-Loop to move data from source to target
      for(var i=6;i&lt;=10;i++){
        var sourceRange = sourceSheet.getRange(i, 2);
        var targetRange = targetSheet.getRange(targetRow, i-4);
        var holder = sourceRange.getValue();
  
        targetRange.setValue(holder);
      }
    }    
  }
  </code></pre>