gpt4 book ai didi

javascript - Google 表格/Apps 脚本将公式复制到新行

转载 作者:行者123 更新时间:2023-12-05 06:20:32 24 4
gpt4 key购买 nike

对此还是很陌生。我已经能够使用复选框在单独的选项卡上触发新行的创建。在这个新选项卡上,有一列包含公式。创建新行时(在第一行上方),我想要新行中的公式。这是我目前所拥有的:

  if(sheet.getSheetName() == CLIENTS) {
var checkCell = ss.getActiveCell();
var checked = checkCell.getValue();
var clientNameCell = checkCell.offset(0,-8).getValue();
var clientType = checkCell.offset(0,-7).getValue();
var sessionChargeCell = checkCell.offset(0, -6).getValue();
var groupChargeCell = checkCell.offset(0,-5).getValue();
var softwareFee = checkCell.offset(0,-4).getValue();
var billFee = checkCell.offset (0,-3).getValue();
var targetSheet = ss.getSheetByName("Client Billing Projections");
var lCol = targetSheet.getLastColumn();
if (checkCell.getColumn() == NEWCLIENTCHECK && checked == true) {
var target = targetSheet.getRange(2, 1, 1, lCol);
var formulas = target.getFormulas();
targetSheet.insertRowBefore(2);
var newRow = targetSheet.getRange(2,1,2,lCol);
newRow.setFormulas(formulas);
}
}

我想我卡在 targetSheet.insertRowBefore(2); 行之后。我认为这与我对 getFormulas 和 setFormulas 的使用有关,但我真的无法理解它。这里没有语法错误。如您所见,我已经从我的第一张工作表 (CLIENTS) 中收集了值;我打算将它复制到另一个选项卡上,但我也必须复制公式。任何帮助将不胜感激。

Here is an example of the sheet那里已经有很多工作代码。您将在此处看到的大部分内容可能在第 222 到 238 行之间。到目前为止,其他一切都正常。

最佳答案

  • 运行脚本时,新行将插入到 Client Billing Projections 工作表的第 2 行。
  • 您想将公式放入插入行的“N”列。

如果我的理解是正确的,这个修改怎么样?

修改点:

  • 在您的脚本中,公式由 var formulas = target.getFormulas()var target = targetSheet.getRange(2, 1, 1, lCol);。这是包含一行的二维数组。检索到的公式使用 newRow.setFormulas(formulas)var newRow = targetSheet.getRange(2,1,2,lCol) 放置。在这种情况下,formulas 具有包含 2 行的二维数组。
    • 我认为您的问题的原因可能是这个。

修改后的脚本:

当您的脚本修改时,请修改如下。

从:
var newRow = targetSheet.getRange(2,1,2,lCol);
到:
var newRow = targetSheet.getRange(2,1,1,lCol);

引用:

关于javascript - Google 表格/Apps 脚本将公式复制到新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60376866/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com