写入超出数据范围的单元格

时间:2020-04-12 20:16:42

标签: javascript google-apps-script google-sheets

我需要写一些超出Google表格数据范围的空单元格。我有以下代码:

var ValueSheet = SpreadsheetApp.getActive().getSheetByName('ValueSheet');
var myValueRange = ValueSheet.getDataRange();
var values = myValueRange.getValues();
var columnToCheck = ValueSheet.getRange("C:C").getValues();
var lastRow = getLastRow(columnToCheck);

values[lastRow + 1][3] = "-"; // TypeError: Cannot set property '3' of undefined 

lastRow变量为我提供了基于columnToCheck的数据的最后一行。因此,如果我在第50行有最后一个值,则lastRow的值将为50,但是我需要在它下面写入单元格。波纹管也是我用来获取最后一行的方法。

  function getLastRow(range){

  var rowNum = 0;
  var blank = false;
  for(var row = 0; row < range.length; row++){

    if(range[row][0] === "" && !blank){
      rowNum = row;
      blank = true;

    }else if(range[row][0] !== ""){
      blank = false;
    }
  }
  return rowNum;
}

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

使用功能.getRange(row, column)访问所需的单元格。在这种情况下,您可以使用.getRange(lastRow + 1, 4)来访问所需列中紧下方的行(请注意,在这种情况下,起始索引为1)。

使用功能.setValue(),您将可以在所需的单元格中进行书写。

参考文献:

Class Sheet

相关问题