Google Sheets跨工作表自动粘贴格式化范围的实现方法咨询
Google Sheets 一键复制单元格格式(仅边框、填充色)解决方案
常见疑问解答
- 源范围和目标区域大小要求:必须行列数完全匹配,避免格式错位。下述脚本会自动根据源范围大小匹配目标区域范围,你只需要填写目标区域的左上角起始单元格即可,不需要手动框选同等大小的目标范围。
- 脚本仅会迁移单元格的填充色、边框、条纹样式等格式设置,不会修改目标区域的现有数据内容,符合你的需求。
Apps Script 实现代码
function copyOnlyCellFormat() { // 请修改下方4个参数为你实际的配置 const SOURCE_SHEET_NAME = "源工作表标签名"; const SOURCE_RANGE = "A1:D20"; // 替换为带格式的上周时间块范围 const TARGET_SHEET_NAME = "目标工作表标签名"; const TARGET_START_CELL = "A1"; // 替换为目标粘贴位置的左上角单元格 const ss = SpreadsheetApp.getActiveSpreadsheet(); // 获取源范围格式 const sourceSheet = ss.getSheetByName(SOURCE_SHEET_NAME); const sourceRange = sourceSheet.getRange(SOURCE_RANGE); // 自动匹配生成同等大小的目标范围 const targetSheet = ss.getSheetByName(TARGET_SHEET_NAME); const targetStart = targetSheet.getRange(TARGET_START_CELL); const targetRange = targetSheet.getRange( targetStart.getRow(), targetStart.getColumn(), sourceRange.getNumRows(), sourceRange.getNumColumns() ); // 仅粘贴格式,不涉及数据操作 sourceRange.copyTo(targetRange, SpreadsheetApp.CopyPasteType.PASTE_FORMAT, false); }
一键触发按钮配置步骤
- 打开目标表格,点击顶部菜单栏「扩展程序」→「Apps Script」进入脚本编辑器
- 删除编辑器默认的空白代码,粘贴上述代码,修改完配置参数后保存项目,项目名称可自定义
- 返回表格界面,点击顶部菜单栏「插入」→「绘图」,绘制你想要的按钮样式后保存,将按钮拖到你方便点击的位置
- 右键点击刚插入的按钮,选择「分配脚本」,输入函数名
copyOnlyCellFormat后点击确定 - 首次点击按钮运行时按提示完成授权操作,后续点击即可直接完成格式复制
内容的提问来源于stack exchange,提问作者Mae
相关产品推荐
相关产品推荐

