如果源在不同的工作表中,Google 电子表格如何插入注释

Posted

技术标签:

【中文标题】如果源在不同的工作表中,Google 电子表格如何插入注释【英文标题】:Google Spreadsheets How to insert notes if source is in a different sheet 【发布时间】:2015-06-15 20:49:53 【问题描述】:

我正在尝试编写代码以在一系列单元格中插入注释,这些注释的源或内容位于不同的工作表中,我想要完成的是粘贴我在单元格 C2 中的内容Sheet1 从“报告”(即目标工作表的名称)进入单元格 F2(作为注释),然后相同,直到到达最后一行。

我想出了这个:

function insertPhoneNumbers() 

  var ss = SpreadsheetApp.getActiveSpreadsheet();
 var targetsheet = ss.getSheetByName("report");
 var sourcesheet = ss.getSheetByName("Sheet1");
 var nrange = sourcesheet.getRange("C2", getLastRow()).getValue();
  var notes = targetsheet.getRange("F2", getLastRow());

 notes.setNotes(nrange)


但它不起作用。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您应该使用s 调用getValues()。否则,您将调用一个仅获取单个值的不同方法,而不是您需要的二维数组。

【讨论】:

试了还是不行 nrange 是空的还是包含数据,但没有创建笔记? 它包含数据但没有创建笔记 getLastRow() 也应该在工作表上调用。【参考方案2】:

您想将 C2 的单元格值复制到单元格 F2 上的注释 您无需调用 getLastRow()。此外,由于只有一个音符,您最好使用 setNote (whitout s) 并且永远不要忘记“;”在一行的末尾。 试试下面的代码:

    function insertPhoneNumbers() 

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var targetsheet = ss.getSheetByName("report");
  var sourcesheet = ss.getSheetByName("Sheet1");
  var nrange = sourcesheet.getRange("C2").getValue();
  var notes = targetsheet.getRange("F2");
  notes.setNote(nrange);


【讨论】:

以上是关于如果源在不同的工作表中,Google 电子表格如何插入注释的主要内容,如果未能解决你的问题,请参考以下文章

需要Google表格GmailApp.Sendemail

如何创建一个脚本来合并另一个表中的几个表?

计算工作表中的行数,然后使用 Google Apps 脚本在 Google 电子表格上减去

如何将宏应用于 Google 表格中一个电子表格中的所有表格

如何在同一电子表格中获取已发布的Google工作表的不同网址

使用 2 个电子表格的条件格式和 Importrange