【发布时间】:2020-02-24 13:22:49
【问题描述】:
对此仍然相当陌生。我已经能够使用复选框在单独的选项卡上触发新行的创建。在这个新选项卡上,有一列包含公式。创建新行时(在第一行之上),我想要新行中的公式。这是我目前所拥有的:
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 的使用有关,但我真的无法理解它。这里没有语法错误。如您所见,我从第一张表(客户)中收集了值;我打算将它复制到另一个选项卡上,但我也必须复制公式。任何帮助将不胜感激。
Here is an example of the sheet 里面已经有很多工作代码了。您将在这里看到的大部分内容可能在第 222 - 238 行之间。到目前为止,其他所有内容都有效。
【问题讨论】:
-
为了正确了解您的情况,您能否提供一个示例电子表格和用于复制您的问题的脚本?当然,请删除您的个人信息。
-
请参考How to ask 以尝试改进您的问题,并请正如@Tanaike 所说,在其中包含您的问题副本的示例表。
-
我添加了一个示例链接。删除信息
-
感谢您回复并提供示例电子表格。从中,我提出了一个修改后的脚本作为答案。你能确认一下吗?如果我误解了您的问题并且这不是您想要的方向,我深表歉意。
标签: javascript google-apps-script google-sheets google-sheets-formula