请求修改Google Apps Script:实现Ctrl+A式选中区域复制到目标表首空行
修改Google Apps Script实现自动识别数据区域并复制到目标表首空行
你需要的是让脚本自动识别当前激活单元格所在的连续数据区域(类似Ctrl+A选中的范围),而不是固定指定单元格区域。下面是修改后的脚本,我会标注关键改动点:
function moveValuesOnly() { var ss = SpreadsheetApp.getActiveSpreadsheet(); // 关键改动:获取当前活动单元格所在的连续数据区域(等效于Ctrl+A选中的范围) var source = ss.getActiveCell().getDataRange(); var destSheet = ss.getSheetByName("Sheet2"); // 确定目标表的首个空行位置 var destRange = destSheet.getRange(destSheet.getLastRow() + 1, 1); // 仅复制内容到目标区域 source.copyTo(destRange, {contentsOnly: true}); // 清空源区域的内容 source.clear(); }
关键说明:
ss.getActiveCell().getDataRange():这行代码会自动定位到当前选中单元格所在的连续非空数据区域,和你手动按Ctrl+A选中的范围完全一致,不需要提前固定单元格地址。- 保留了原脚本的
contentsOnly: true,确保只复制单元格的值,不会带格式;同时保留source.clear()完成复制后清空源区域的功能。 - 使用前需要确保你已经选中源工作表(Sheet1)里的任意一个有数据的单元格,运行脚本就会自动识别整个连续数据区域并复制到Sheet2的首空行。
内容的提问来源于stack exchange,提问作者balazs777
相关产品推荐
相关产品推荐

