【问题标题】:Autofill Script Google Spreadsheet Script自动填充脚本 Google 电子表格脚本
【发布时间】:2013-05-31 14:42:52
【问题描述】:

我需要你帮我解决这个问题。我的 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();
};

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

【问题讨论】:

  • 暂时凹凸:(

标签: google-apps-script google-sheets


【解决方案1】:

下面的东西应该可以工作:

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

【讨论】:

    猜你喜欢
    • 2023-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多