我可以看到在其他地方已经问过这个问题,但是解决方案对我不起作用或者我不理解。
我已经在多个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});
}
提前感谢您的时间和帮助。
答案 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