我需要写一些超出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;
}
有没有办法解决这个问题?
答案 0 :(得分:0)
使用功能.getRange(row, column)
访问所需的单元格。在这种情况下,您可以使用.getRange(lastRow + 1, 4)
来访问所需列中紧下方的行(请注意,在这种情况下,起始索引为1)。
使用功能.setValue()
,您将可以在所需的单元格中进行书写。