Google Sheet列填满时能否自动添加格式化新行?
实现Google Sheet列填满时自动追加格式化新行
- 打开你的Google Sheet,点击顶部菜单栏的「扩展」>「Apps 脚本」
- 在脚本编辑器里,删除默认的
function myFunction()代码,替换成下面的脚本:
function addFormattedRowOnEdit(e) { // 替换成你的工作表名称,比如"Sheet1" const sheetName = "Sheet1"; const sheet = e.source.getSheetByName(sheetName); if (!sheet) return; // 检测A列最后一行是否有内容(可根据需要修改列,比如B列就改成2) const lastRow = sheet.getLastRow(); const lastCellValue = sheet.getRange(lastRow, 1).getValue(); // 如果最后一行有内容,就在下方追加一行并复制上一行格式 if (lastCellValue !== "") { sheet.getRange(lastRow, 1, 1, sheet.getLastColumn()).copyTo( sheet.getRange(lastRow + 1, 1, 1, sheet.getLastColumn()), SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false ); } }
- 设置触发器:点击脚本编辑器左侧的「触发器」图标(时钟样式),然后点击「添加触发器」
- 选择函数:
addFormattedRowOnEdit - 选择部署类型:「事件源」选「从电子表格」,「事件类型」选「编辑时」
- 点击保存,授权脚本访问你的表格
- 选择函数:
- 测试:在表格最后一行输入内容,回车后下方会自动出现带相同格式的空行
说明:如果需要检测其他列,把脚本里
sheet.getRange(lastRow, 1)的第二个参数改成对应列号(A=1,B=2以此类推);如果要调整格式复制的范围,也可以修改getLastColumn()为指定列数。
内容的提问来源于stack exchange,提问作者Amos
相关产品推荐
相关产品推荐

