【问题标题】:issue with getLastRow in google sheet谷歌表格中的getLastRow问题
【发布时间】:2019-12-12 22:35:25
【问题描述】:

我正在使用代码将复制的数据从 Google 表格中的一张表格传输到另一张表格。不幸的是,我遇到了问题,因为我粘贴其他值的另一张表在某些列上有一个公式。而不是设置在下一个可能的可用行上,“A2”它下降到“A152”

这是我目前使用的代码:

function submit() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var formSS = ss.getSheetByName("Form");
var mastersheet = ss.getSheetByName("Dump");

var values = [[formSS.getRange("F10").getValue(),
formSS.getRange("C7"),getValue(),
formSS.getRange("C8"),getValue(),]];

mastersheet.getRange(matersheet.getLastRow()+1,1,1,3).setValues(values)
}

您的帮助将不胜感激!

【问题讨论】:

  • 我会编写一个函数来根据您的自定义条件确定下一个空行,或者如果可能的话,在您编写值时包含公式。如果选择后一种方式,那么可以使用appendRow()方式:masterSheet.appendRow([F10, C7, C8, "=1+2"])
  • 谢谢你,迭戈!让我试试那个方法

标签: google-apps-script google-sheets


【解决方案1】:

为了让你的代码正常工作,你应该使用这个:

function submit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var formSS = ss.getSheetByName("Form");
  var mastersheet = ss.getSheetByName("Dump");
  var values = [formSS.getRange("F10").getValue(),
                formSS.getRange("C7").getValue(),
                formSS.getRange("C8").getValue()];

  mastersheet.appendRow(values);
}

您应该使用.appendRow() 方法,但您不需要将列表作为二维数组传递。此外,我在您提供的代码 sn-p 中修复了一些错别字。

此外,您可以查看此链接了解更多信息:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多