【问题标题】:Add new row and fill with self labling formula添加新行并使用自标记公式填充
【发布时间】:2018-04-15 16:18:07
【问题描述】:

我正在尝试使用 importrange() 对我的所有 Google 表单结果进行分组。我想在 Google 表单响应表的顶部添加一行 URL, Workbook name, Sheet name, and Date code,以便轻松复制并粘贴到主工作簿中。

我正在努力制作一个易于制作的大师作业簿,其中包含所有学生的成绩,其他教师可以轻松使用和排序数据。

我学习编码不到一个月,并整理了其他人的作品,但收到错误消息

"ReferenceError: "sheet" 没有定义。

我在第二行附上了带有工作表标签的 Google 表单结果。 https://docs.google.com/spreadsheets/d/1lW8xkSbrgDm-UG83nCnp_9p3NWvP5bnlaCpENDCgQd4/edit?usp=sharing

我目前有工作和getUrl()sheetName()、和tabName(),还有一个onOpen()addRow()。我无法将公式放入新单元格中。

var ss = SpreadsheetApp.getActive();

function onOpen() {
  var menu = [{name:"Add New 2nd Row", functionName:"addRow"}];
  ss.addMenu("Extra", menu);
}

function addRow() {
  var sh = ss.getActiveSheet(), lRow = 1; 
  var lCol = sh.getLastColumn(), range = sh.getRange(lRow,1,1,lCol);
  sh.insertRowsAfter(lRow, 1);
  var cell = sheet.getRange("A2");
  cell.setFormula("getUrl");
  var cell = sheet.getRange("B2");
  cell.setFormula("sheetName");
  var cell = sheet.getRange("C2");
  cell.setFormula("tabName");
}

function getUrl() {
  var SS = SpreadsheetApp.getActiveSpreadsheet();
  var ss = SS.getActiveSheet();
  var url = '';
  url += SS.getUrl();
  url += '#gid=';
  url += ss.getSheetId(); 
  return url;
}

function sheetName() {
  var SS = SpreadsheetApp.getActiveSpreadsheet();
  var ss = SS.getActiveSheet();
  return SpreadsheetApp.getActive().getName();
}

function tabName() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var ss = ss.getActiveRange().getSheet();
  return ss.getName();
}

【问题讨论】:

    标签: google-apps-script import google-sheets callable newrow


    【解决方案1】:

    公式应该以= 开头,自定义函数应该有括号,所以不是

    cell.setFormula("getUrl");
    

    以下应该写:

    cell.setFormula("=getUrl()");
    

    【讨论】:

    • 感谢您的帮助。 'cell.setFormula()' 没有用 'cell.setValue("=sheetName()");'
    • 使用 setValue() 传递公式不可靠(请参阅setValue to QUERY() formula doesn't work?)您认为 byd“不起作用”是什么?您收到错误消息了吗?
    • 试过 'cell.setFormula()' 这次没有错误 感谢您的提示。
    • 当我在第二个选项卡中尝试此代码时,我收到错误消息“范围的坐标或尺寸无效”
    • @ChrisShortreed:这个问题包括几个功能。你说的是哪一个?错误是否显示在单元格上?
    猜你喜欢
    • 2018-01-26
    • 2022-11-18
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多