我对此还比较陌生。我已经能够使用复选框触发在另一个标签页上创建新行的操作。在这个新的标签页上,有一列包含公式。当创建新行时(创建在第一行之前),我希望新行中也有该公式。以下是我目前的进展:
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)中收集了值;我打算将其复制到另一个选项卡上,但我也必须将公式复制过来。任何帮助将不胜感激。
这是该表格的示例,其中已经有很多工作代码。你需要查看的内容主要在222-238行之间。到目前为止,其他一切都运作良好。