【问题标题】:Last Row, Last Column getting weird values?最后一行,最后一列得到奇怪的值?
【发布时间】:2016-09-01 21:20:39
【问题描述】:

所以,我一直在尝试并尝试了解 getLastColumn 和 getLastRow 方法的值到底发生了什么,不知何故它抛出了一些奇怪的值,因为我刚刚填写了前 3 列直到行数字 30 所以我应该得到数字 3 和 30 对吗?但我不知何故得到了一些奇怪的值,比如 23 19 等等。

function golpesLocos(sheet, col, origV1, newV1, origV2, newV2) {
  var ss = SpreadsheetApp.openById("XXXXXXXXXXXXXXXXXXXXXXXXXXXXXx");

  var lrow = ss.getLastRow();
  var lcol = ss.getLastColumn();
  Browser.msgBox(lrow+"       "+lcol);
  //SpreadsheetApp.getActiveSheet().getRange(1, 1).setValue("Probando");
  var rowS = 2;
  /*var d= new Date();
  var rango = SpreadsheetApp.getActiveSheet().getRange(rowS, lcol+1);
  var notacion = rango.getA1Notation();
  var currentTime = d.toLocaleTimeString();
  for (var i=1; i < lrow; i++) {
    ss.getRange(notacion).setValue("Probando "+currentTime);
    rowS++;
  }*/

}

我想我不明白为什么我会得到这些值?也许一些与缓存相关的问题?我不太明白。

任何想法都将受到高度赞赏。

谢谢, 恩里克·布拉沃。

【问题讨论】:

    标签: google-apps-script google-sheets spreadsheet


    【解决方案1】:

    您可能在该电子表格中拥有不止一张工作表。如果您将函数 getLastColumn()getLastRow() 直接调用到电子表格而不是工作表,默认情况下它会在第一个工作表上运行(即使它是隐藏的)要确保它获得所需工作表的值,请获取表之前,您可以使用:

    getSheetByName():

    function myFunction() {
      var ss = SpreadsheetApp.openById("{YOUR_ID}");
      var sheet = ss.getSheetByName('Hoja1')
      var lrow = sheet.getLastRow();
      var lcol = sheet.getLastColumn();
    }
    

    getSheets()

    function myFunction() {
      var ss = SpreadsheetApp.openById("{YOUR_ID}");
      var sheet = ss.getSheets()[1] // Index of the sheet
      var lrow = sheet.getLastRow();
      var lcol = sheet.getLastColumn();
    }
    

    【讨论】:

    • 谢谢!显然这是没有选择工作表。我刚刚删除了另一张纸,它创造了奇迹!谢谢!!!
    • 您也可以将要编辑的工作表移动到第一个位置,全部向左(:
    猜你喜欢
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多