Google 表格脚本错误:找不到行的范围:sheet.getRange('E${lastRow}').setValue(value)

问题描述 投票:0回答:1

我正在关注 Google Sheets 的视频,为股票交易创建实时投资组合增长跟踪器。这是视频的 链接。 脚本大约有 3 年历史,似乎有问题。该错误发生在两张脚本的同一行上。 sheet.getRange('E${lastRow}').setValue(value) sheet.getRange('H${lastRow}').setValue(value) 我有什么想法可以解决它吗? DayChart.gs:

function dailyChart() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("PvD (Auto)");
  var value = sheet.getRange("A1").getValue();
  var range = sheet.getRange("E1:E").getValues();
  var lastRow = null;
  var i = 0;
  while(i < range.length) {
    if (range[i][0] !==""){
      i++;
    } else {
      lastRow = i +1;
      break;
    }
  }
  sheet.getRange('E${lastRow}').setValue(value)
}

LifetimeChart.gs:

function dayChartDelete() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("PvD (Auto)");
  var range = sheet.getRange("E2:E");
  range.clear();
}

function lifeTimeChart() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("PvD (Auto)");
  var value = sheet.getRange("A1").getValue();
  var range = sheet.getRange("H1:H").getValues();
  var lastRow = null;
  var i = 0;
  while(i < range.length) {
   if (range[i][0] !== "") {
      i++;
    } else {
      lastRow = i + 1;
      break;
    }
  }
  sheet.getRange('H${lastRow}').setValue(value)
}

我有 2 张。 1 具有更新的净值和带有 2 个选项的下拉菜单:终身和 1 天。另一个页面 PvD(自动)应该是插入不断更新的值的位置,以便它们可用于创建可视化参考图表。还有 3 个触发器(根据视频说明)。无法让脚本运行并开始实时生成数字。如果我删除该行代码,错误就会消失,但什么也不会发生。

google-sheets google-apps-script google-sheets-formula
1个回答
0
投票

设置范围时,OP脚本使用单引号:

  • sheet.getRange('E${lastRow}').setValue(value)

但是,视频中的脚本(在 15:48 处强调)使用了反引号(波浪号下的字符)。

  • sheet.getRange(`E${lastRow}`).setValue(value)
© www.soinside.com 2019 - 2024. All rights reserved.