首页 > 解决方案 > 如何在谷歌表格中制作宏动态?

问题描述

我一直在尝试创建一个动态宏来复制前一行并将其粘贴到实际行中。我已经能够创建它,并且每次我更改工作表时它都会运行(在更改触发器上)。在那之前,一切都很好。

问题是我只能为特定行执行此操作,即我为第 11 行创建了它,但是,一旦它在第 11 行运行,我希望它在第 12 行工作,一旦第 12 行已完成,然后转到第 13 行,依此类推。

这就是我现在所拥有的:

function copyandnumber() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRange('L11').offset(-1, 0, 1, 25).copyTo(spreadsheet.getRange('L11'), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};

你知道如何通过动态的方式改变这 11 个,让它在每一行上工作吗?

非常感谢!

标签: javascriptgoogle-apps-scriptdynamic

解决方案


尝试

function copyandnumber() {
  var spreadsheet = SpreadsheetApp.getActive();
  var lastRow = spreadsheet.getLastRow();
  spreadsheet.getRange('L'+lastRow).offset(-1, 0, 1, 25).copyTo(spreadsheet.getRange('L'+lastRow), SpreadsheetApp.CopyPasteType.PASTE_NORMAL, false);
};

推荐阅读