Google Apps Script 复制表格数据时基于C列定位目标空行的问题
Google表格Apps Script粘贴行定位异常问题
我目前编写了一段用于Google表格的Apps Script代码,具体如下:
function copyInfo() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var copySheet = ss.getSheetByName("WREQ"); var pasteSheet = ss.getSheetByName("Orders/Deliveries"); // 获取源数据范围 var source = copySheet.getRange("A2:X");; // 获取目标粘贴范围 var destination = pasteSheet.getRange(pasteSheet.getLastRow()+1, 3, 1, 1); // 将源数据复制到目标位置 source.copyTo(destination); // 复制完成后删除WREQ表中已同步的源数据行 copySheet.deleteRows(2, source.getNumRows()) }
预期实现逻辑
将WREQ工作表中A2至X列的所有数据,复制到「Orders/Deliveries」工作表中从C列起始的最后一行的下一行位置,复制完成后删除WREQ表中对应的源数据行。
当前存在的问题
代码中使用pasteSheet.getLastRow()定位目标粘贴行时,因为「Orders/Deliveries」工作表的A、B列是用于交互控制的公式和复选框,这些内容会被判定为非空,导致getLastRow()返回的行号远大于实际有业务数据的最后一行,最终粘贴位置远偏离预期位置。
提出的实现需求
- 脚本能够忽略A、B列的内容,仅从C列开始判断业务数据的最后一行
- 若对应行的C列为空,则将其作为粘贴起始行
- 其余现有脚本逻辑保持不变
我对代码编写尚不熟悉,之前考虑过使用isBlank方法,但不清楚如何结合现有代码实现所需逻辑,希望能得到可行的实现方案。
内容的提问来源于stack exchange,提问作者RafaNHS
相关产品推荐
相关产品推荐

