2

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

我需要脚本来完全执行CTRL+ ACTRL+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();
};

哪个选择了所需的范围,但我认为这不是正确的前进方式。我也在考虑按键模拟,但找不到任何说明可以做到这一点的文档。

4

1 回答 1

5

以下内容应该有效:

  var oneRowCopy = sheet.getRange(1,1,1, sheet.getLastColumn());
  var targetRows = sheet.getRange(2,1,sheet.getLastRow()-1, sheet.getLastColumn());
  oneRowCopy.copyTo(targetRows);
于 2013-11-13T16:27:11.170 回答