自动填充脚本Google电子表格脚本

时间:2013-05-31 14:42:53

标签: google-apps-script google-sheets

我需要你帮我解决这个问题。我的Google电子表格上需要一个脚本。

我需要脚本完全按照 CTRL + A CTRL + D 执行操作。

所以它会根据第一行自动填充整个页面。

就细节而言。

假设有两张纸,Sheet1和Sheet2。

现在Sheet2是一个数据库。所以每个单元格和行都有简单的值/文本。

在Sheet1中,我在第1行的每个单元格中都有最简单的公式。

..Column 1....Column 2....Column 3...and so on
=Sheet2!A1, =Sheet2!B1, =Sheet2!C1,

因此,当您选择第一行时,抓住点并向下拖动它会将公式填充到下面的行中,它们就像

=Sheet2!A1, =Sheet2!B1, =Sheet2!C1,
=Sheet2!A2, =Sheet2!B2, =Sheet2!C2,
=Sheet2!A3, =Sheet2!B3, =Sheet2!C3,

所以当你按 CTRL + A 时,它会选择整个Sheet1然后按 CTRL + D 它会将公式填充到该工作表中的每一行。

我的目标是让脚本执行此操作。

到目前为止我写了

function f5(){
var sheet = SpreadsheetApp.getActiveSheet();
var allData = sheet.getDataRange();
var range = sheet.getRange(1,1,allData.getNumRows(),7)
range.activate();
};

选择所需的范围,但我不认为这是正确的方法。我也在考虑按键模拟,但无法找到任何文档说这可以做到。

1 个答案:

答案 0 :(得分:4)

以下内容应该有效:

  var oneRowCopy = sheet.getRange(1,1,1, sheet.getLastColumn());
  var targetRows = sheet.getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn());
  oneRowCopy.copyTo(targetRows);