什么是计算最后一行并将单元格数据添加到新空白行的代码

时间:2019-03-08 23:31:37

标签: javascript google-apps-script

代码将数据从单元格M4复制到单元格L45,这很好,但是如果我更改M4中的日期并运行脚本,它将用新信息覆盖单元格L45,而不是复制到下面的下一个空白行(单元格L46) 需要进行哪些调整,该调整会在脚本中的什么位置

这是代码:

function moveValuesOnly() {

 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var source = ss.getRange('M4');
 source.copyTo(ss.getRange('L45'), {contentsOnly: true}); 

1 个答案:

答案 0 :(得分:0)

此功能会将'M4'中的所有更改附加到L列的底部。

function onEdit(e) {
  var sh=e.range.getSheet();
  if(sh.getName()!='Sheet1') {return;};//edit Sheet name for your requirements
  if(e.range.getA1Notation()=='M4') {
    e.range.getSheet().getRange(getColumnHeight(12,sh,e.source) + 1,12).setValue(e.value);
  }
}

function getColumnHeight(col,sh,ss){
  var ss=ss || SpreadsheetApp.getActive();
  var sh=sh || ss.getActiveSheet();
  var col=col || sh.getActiveCell().getColumn();
  var rg=sh.getRange(1,col,sh.getLastRow(),1);
  var vA=rg.getValues();
  while(vA[vA.length-1][0].length==0){
    vA.splice(vA.length-1,1);
  }
  return vA.length;
}