链接到getlastrow的脚本错误-我认为

时间:2020-02-19 13:41:34

标签: google-apps-script

我可以看到在其他地方已经问过这个问题,但是解决方案对我不起作用或者我不理解。

我已经在多个Google工作表中使用这段代码一段时间了,没有出现问题。突然,这一张纸抛出了错误“目标范围的坐标超出了纸的尺寸。”

有人可以帮我解决吗?

我的代码如下:

function submit() {
   var ss = SpreadsheetApp.getActiveSpreadsheet();
   var sheet1 = ss.getSheetByName("Check Sheet");
   var sheet2 = ss.getSheetByName("Data"); 
   sheet1.getRange("A1:AA1").copyTo(sheet2.getRange(sheet2.getLastRow()+1,1,1,7), {contentsOnly:true});
}

提前感谢您的时间和帮助。

1 个答案:

答案 0 :(得分:2)

很可能您会收到此错误,因为工作表<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input type="checkbox" id="branche_search_form_couleurs_1" /> <input type="checkbox" id="branche_search_form_couleurs_2" /> <div class="maxWidthPoPup"> <div class="textPopUp"></div> </div>中包含内容的最后一行(即Data)也是工作表的最后一行,无论内容如何。也就是说,您正在尝试将范围复制到不存在的行(sheet2.getLastRow())。

为避免此错误,如果包含内容的最后一行是图纸的绝对最后一行,则应在复制范围之前插入一个新的空白行。您可以使用getMaxRows进行检查。

因此,如果包含内容的最后一行是工作表中的绝对最后一行,则可以在使用sheet2.getLastRow() + 1之前添加此行以插入一行:

copyTo

参考: