Javascript Google工作表脚本-将行值复制到上次使用的行

Javascript Google工作表脚本-将行值复制到上次使用的行,javascript,arrays,google-apps-script,google-sheets,Javascript,Arrays,Google Apps Script,Google Sheets,基本上,我需要帮助将A2:AC2范围内的第2行内容复制到最后使用的行(如果复制粘贴整个第2行,则不是问题) 我已经有了一个脚本,可以将行追加到最后一个未使用的行,我希望不必手动编辑该脚本,以防我需要更新这些值 找到一个脚本以获取最后使用的行,但它返回行号 function getLRI() { var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Fund'); var lr = getLastRowInde

基本上,我需要帮助将A2:AC2范围内的第2行内容复制到最后使用的行(如果复制粘贴整个第2行,则不是问题)

我已经有了一个脚本,可以将行追加到最后一个未使用的行,我希望不必手动编辑该脚本,以防我需要更新这些值

找到一个脚本以获取最后使用的行,但它返回行号

function getLRI() {
  
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Fund');

  var lr = getLastRowIndex(ss,'A1:AC');
  
  Logger.log (lr);

}


function getLastRowIndex(sheet,rangeString) {

  var rng = sheet.getRange(rangeString).getValues();
  
  var lrIndex;
  
  for ( var i = rng.length-1;i>=0;i--){
    lrIndex = i;
    
    if(!rng[i].every(function(c){ return c == ""; })){
      break;
    
    }
    
  }
  
  return lrIndex + 1;
  
}
Logger.log(lr)
的输出

因此,我得到了正确的行号,但没有设法弄清楚如何使
.getRange()
.setValues
在本例中起作用

说明: 解决方案比你想象的要简单得多

  • 您不需要创建自定义函数来计算工作表中包含内容的最后一行,因为已经有一个内置函数来完成Google提供的这项工作,这是一个很好的例子

  • 以下脚本将使用获取范围
    A2:AC2
    中的数据,并使用内容设置最后一行之后的值


解决方案: 说明: 解决方案比你想象的要简单得多

  • 您不需要创建自定义函数来计算工作表中包含内容的最后一行,因为已经有一个内置函数来完成Google提供的这项工作,这是一个很好的例子

  • 以下脚本将使用获取范围
    A2:AC2
    中的数据,并使用内容设置最后一行之后的值


解决方案:
谢谢,比我尝试的要简单,在删除sh.getRange(sh.getLastRow()中的+1之后,我想编辑最后使用的行+1Glad它解决了您的问题。您可以通过单击答案左侧的勾选按钮将答案标记为已接受吗?感谢@Brunocavalhoi知道我发布的脚本会进行额外检查,检查行是否为空,如果单元格中包含公式而非值,则跳过,但最终结果是行编号,是否仍可以在中使用?我要求学习,无论如何非常感谢,我想你可以做到:
const data=sh.getRange(2,1,1,29).getValues();//A2:AC2 sh.getRange(lr,1,data.length,data[0].length).setValues(data)
非常感谢,通过调整和一些实验,我通过你的回答和谷歌了解了更多关于脚本和java的知识,比我在这里要求的更多,请确保你帮助了很多PPL,比我尝试的要简单,因为我想在删除sh.getRange(sh.getLastRow()中的+1后编辑最后使用的行+1Glad它解决了您的问题。您可以通过单击答案左侧的勾选按钮将答案标记为已接受吗?感谢@Brunocavalhoi知道我发布的脚本会进行额外检查,检查行是否为空,如果单元格中包含公式而非值,则跳过,但最终结果是行编号,是否仍可以在中使用?我要求学习,无论如何非常感谢,我想你可以做到:
const data=sh.getRange(2,1,1,29).getValues();//A2:AC2 sh.getRange(lr,1,data.length,data[0].length).setValues(data)
非常感谢,通过调整广告和一些实验,我通过你的回答和谷歌了解了更多关于脚本和java的知识。比我在这里要求的更多,请继续确保你帮助了很多ppl
[20-10-30 16:35:33:460 BRT] 47.0
function myFunction() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Fund');
  const data = sh.getRange(2,1,1,29).getValues(); // A2:AC2
  sh.getRange(sh.getLastRow()+1,1,data.length,data[0].length).setValues(data);
}