首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >目标范围的坐标超出工作表的尺寸

目标范围的坐标超出工作表的尺寸
EN

Stack Overflow用户
提问于 2017-10-19 16:36:59
回答 1查看 1.8K关注 0票数 0

我使用这个代码,虽然在过去它工作得很好,但今天我收到了这个错误消息:

目标范围的坐标超出了工作表的尺寸。(第27行,___.gs)

我的代码并不太复杂:

代码语言:javascript
复制
function onEdit() {
  var sheetNameToWatch1 = "Assign_Page";
  var columnNumberToWatch = 19;
  var valueToWatch = "Delivred";
  var sheetNameToMoveTheRowTo = "K_Delivery_Archive";
  var sheetNameToMoveTheRowTo2 = "Buffering";

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getActiveCell();

  if (sheet.getName() == sheetNameToWatch1 && range.getColumn() == columnNumberToWatch && range.getValue() == valueToWatch) {
    var targetSheet = ss.getSheetByName(sheetNameToMoveTheRowTo);
    var targetRange = targetSheet.getRange(targetSheet.getLastRow() + 1, 1);
    sheet.getRange(range.getRow(), 1, 1, 22).copyTo(targetRange, {contentsOnly: true});

    var targetSheet2 = ss.getSheetByName(sheetNameToMoveTheRowTo2); 
    var targetRange2 = targetSheet2.getRange(targetSheet2.getLastRow() + 1, 1);
    sheet.getRange(range.getRow(), 1, 1, 22).copyTo(targetRange2, {contentsOnly: true});

    sheet.deleteRow(range.getRow()); // line 27

    var Sheet1 = ss.getSheetByName("Clients_Page");
    var Sheet2 = ss.getSheetByName("Assign_Page");
    var Sheet3 = ss.getSheetByName("Report");
    var Sheet4 = ss.getSheetByName("Delivery_Information");
    Sheet4.showSheet();
    Sheet1.hideSheet();
    Sheet2.hideSheet();
    Sheet3.hideSheet();
  }
}

是什么导致了这个错误,我如何解决它?

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 02:32:31

这个问题很可能是由于

代码语言:javascript
复制
targetSheet2.getLastRow()+ 1

正确的解决方案将取决于OP没有提到的几个因素,但这里有一个提示:

如果工作表具有返回""的开放式公式,则最后一行与工作表中的最大行数相同,插入更多行将不能解决问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46825809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档