【问题标题】:Reference a range adding formulas with google scripts使用谷歌脚本引用范围添加公式
【发布时间】:2016-06-04 17:23:33
【问题描述】:

我认为这可能是一个基本问题,但我努力尝试后找不到答案。 两张工作表都在同一个工作簿中。

在工作表“MER”中,我想放置一个公式来引用工作表“AVL”中的单元格

我希望脚本放置公式的第一个单元格在 B7 中,然后在下面的每 26 个单元格中,所以 B33、B59 等等。

我正在苦苦挣扎,因为我正在使用的脚本仅在工作表“AVL”中选择了一个 C3 单元格。我希望脚本转到 C3、C4、C5、C6 等,所以在

表'MER'

    B7=AVL!C3
    B33=AVL!C4
    B59=AVL!C5

然后继续。这是我的脚本,它只需要对 setFormula 部分进行一些调整...

function setFormulas() {
  var sheet = SpreadsheetApp.getActiveSheet();
  for (var k = 0; k < 1000; k++) {
    sheet.getRange(7 + 26*k, 2).setFormula('=AVL!C3 ');
  }
}

我尝试了无数次更改,+ 1' 等,但对我没有任何效果,而且我无法通过互联网搜索找到答案。

非常感谢您的帮助,谢谢。

【问题讨论】:

  • 我没有研究过 Google Scripts,但基本概念普遍适用。你保持 ~setFormula('=AVL!C3 ');~ 固定所以它不会改变。请参阅 Excel VBA 的示例。它增加一个整数 j,因此公式变为变量 ~Sub test2() Dim i As Long Dim j As Long j = 2 For i = 2 To 10 ActiveSheet.Cells(i, 2).Formula = "=A" & j j = j + 1 下一个 i 结束子 ~
  • 感谢您的帮助,现在一切都好。再次感谢。
  • 我是否应该将此作为您可以接受的答案。所以说谢谢的方式就是接受作为答案。

标签: google-apps-script google-sheets


【解决方案1】:

我知道回答我发布的问题很糟糕,但是在脚本大师的帮助下,这个脚本完美地完成了工作......

function setFormulas() {

  var sheet, startRow, i; 
  sheet = SpreadsheetApp.getActiveSheet();
  startRow = 7;
  i = 3;
  while(startRow < 5181) {
    sheet.getRange(startRow, 2).setFormula('=AVL!C' + i);
    i++;
    startRow += 26;
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-27
    • 2022-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    相关资源
    最近更新 更多