在工作表中使用(变量)时找不到功能

时间:2015-10-01 21:19:43

标签: google-apps-script

我试图用我发现的这个脚本制作几个按钮。因为我想要在不同单元格中输出几个按钮,所以我尝试添加一个变量,我可以在将该函数添加到绘图时设置该变量。然而,这似乎不起作用,我不知道该怎么做。 因此,如果我设置像" B2" in var activeRange = ss.getRange(DesiredCell); 但是当我尝试使用我得到的变量时,无法找到脚本函数incrementCellValuesByOne()"

我使用的脚本

function incrementCellValuesByOne(DesiredCell) {
  // Increments the values in all the cells in the active range (i.e., selected cells).
  // Numbers increase by one, text strings get a "1" appended.
  // Cells that contain a formula are ignored.

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var activeRange = ss.getRange(DesiredCell);
  var cell, cellValue, cellFormula;

  // iterate through all cells in the active range
  for (var cellRow = 1; cellRow <= activeRange.getHeight(); cellRow++) {
    for (var cellColumn = 1; cellColumn <= activeRange.getWidth(); cellColumn++) {
      cell = activeRange.getCell(cellRow, cellColumn);
      cellFormula = cell.getFormula();

      // if not a formula, increment numbers by one, or add "1" to text strings
      // if the leftmost character is "=", it contains a formula and is ignored
      // otherwise, the cell contains a constant and is safe to increment
      // does not work correctly with cells that start with '=
      if (cellFormula[0] != "=") {
        cellValue = cell.getValue();
        cell.setValue(cellValue + 1);
      }
    }
  }
}

我这样做完全错了吗?

1 个答案:

答案 0 :(得分:1)

您无法将具有变量的函数设置为绘图。 您只能设置一个功能。

2个解决方案: - 为每个绘图创建多少个函数 - 在单元格中创建一个列表,其中包含要作为参数传递的单元格的名称。在脚本开始时,您检查此单元格中的值以获取单元格值。

var DesiredCell = ss.getActiveSheet().getRange("C1").getValue(); //I imagine the list of cell is in C1, to customize.

因此,首先使用脚本,在下拉列表中选择单元格值,然后单击绘图。