3

我目前有这个脚本:

function addConsultant()
{
var sheet_staffing = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Staffing"); 
var sheet_parametres = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Parametres");
var range_tabConsultant_default = sheet_parametres.getRange(26,1,6,64);
var row_position_newTab = sheet_parametres.getRange(1,1).getValue();
range_tabConsultant_default.copyFormatToRange(sheet_staffing, 1, 36, row_position_newTab, row_position_newTab + 6);
range_tabConsultant_default.copyValuesToRange(sheet_staffing, 1, 36, row_position_newTab, row_position_newTab + 6);
sheet_parametres.getRange(1,1).setValue(row_position_newTab+6);
}

这就像一个默认选项卡,每个人一个选项卡,但我不知道如何将公式从 def 选项卡复制到由脚本创建的选项卡。有人可以帮我弄这个吗?

4

3 回答 3

3

看一下该类的getFormulasgetFormulasR1C1方法Range。您还需要使用相应的setFormulasor setFormulasR1C1

[编辑:回答评论]

如果在多单元格区域中,您正在复制混合值和公式。对于值或公式,您必须将调用分解为多个集合,因为单个单元格只能有一个(或将普通值解析为简单的公式,例如 =“value”)。

要让您的公式“遵循”参考,请使用set/getFormulasR1C1符号而不是更简单的set/getFormulas.

于 2012-06-11T13:13:54.893 回答
0

如果脚本使用用户正在使用此功能查看的当前工作表怎么办?获取活动表

于 2012-06-11T12:52:11.293 回答
0

以下是如何将公式复制A1A2:A具有相对引用的范围的示例:

var sheet = SpreadsheetApp.getActiveSpreadsheet();
sheet.getRange("A2:A").setFormulaR1C1(sheet.getRange("A1").getFormulaR1C1());
于 2019-07-25T09:20:11.027 回答