Google 工作表复制一个单元格并粘贴到另一个单元格

Google Sheets Copy one Cell and paste into another Cell

我想从一个单元格中复制一个数字,然后使用按钮将其粘贴到同一 sheet 上的另一个单元格中。

单元格也有一个公式,所以我只想取数字,而不是公式。使用 RANDBETWEEN。

但也让数字继续下降到一列而不是最后一行。

    function copytest() 
{var sheet2 = SpreadsheetApp.getActive().getSheetByName('A');
sheet2.getRange("B4").copyTo(sheet2.getRange(sheet2.getLastRow()+1,1,1,1),
{formatOnly:false , contentsOnly:true});
}

图像: https://i.stack.imgur.com/Po1Sa.jpg

此函数将值放在当前列底部的下一个空行中。

function copytest() {
  const ss=SpreadsheetApp.getActive();
  const sh=ss.getSheetByName('Sheet1');
  const rg=sh.getActiveCell();
  const col=rg.getColumn();
  rg.copyTo(sh.getRange(getColumnHeight(col,sh,ss)+1,col),{formatOnly:false , contentsOnly:true});
}

查找列中下一个空行的函数

function getColumnHeight(col,sh,ss){
  var ss=ss||SpreadsheetApp.getActive();
  var sh=sh||ss.getActiveSheet();
  var col=col||sh.getActiveCell().getColumn();
  const rcA=sh.getRange(1,col,sh.getLastRow(),1).getValues().reverse()
  let s=0;
  for(let i=0;i<rcA.length;i++) {
    if(rcA[i][0].toString().length==0) {
      s++;
    }else{
      break;
    }
  }
  return rcA.length-s;
}