如何批量修改电子表格中所有条件格式的字体?
如何批量修改电子表格中所有条件格式的字体?
太懂你这种面对一堆条件格式要手动改字体的崩溃感了!别着急,我给你分Excel和Google Sheets两种常用场景,说点实用的批量修改方法:
Excel 批量更新方法
方法一:利用样式管理器批量同步
- 先创建一个自定义样式:设置好你想要的字体类型、大小、颜色等所有格式,保存成新样式
- 点击「开始」选项卡,找到「样式」组,点击右下角的小箭头打开样式管理器
- 在管理器里找到所有关联了条件格式的样式(可以直接筛选“条件格式”类别),选中你要更新的所有目标样式
- 右键点击选中的样式→「修改」,在弹出的窗口里直接选择刚才创建好的新样式,确认后所有选中的条件格式就会同步新字体了
方法二:VBA脚本一键搞定(适合超级多条件格式的情况)
如果你的条件格式数量特别多,用脚本效率更高:
- 按下
Alt + F11打开VBA编辑器 - 右键点击左侧的工作簿名称→「插入」→「模块」,新建一个空白模块
- 把下面这段代码粘贴进去,记得把代码里的字体参数改成你需要的(比如
"Arial"换成目标字体,12换成对应字号)
Sub UpdateAllConditionalFormatFonts() Dim ws As Worksheet Dim cf As FormatCondition For Each ws In ThisWorkbook.Worksheets For Each cf In ws.Cells.FormatConditions With cf.Font .Name = "Arial" '替换成你的目标字体名称 .Size = 12 '替换成目标字号 .Bold = False '按需设置是否粗体,True为粗体 .ColorIndex = 1 '按需设置字体颜色,1代表黑色,可换其他索引值 End With Next cf Next ws MsgBox "所有条件格式字体已更新!", vbInformation End Sub
- 按下
F5运行脚本,等弹出提示框就大功告成啦
Google Sheets 批量更新方法
Google Sheets没有样式管理器,用Apps脚本就能搞定:
- 打开你的表格,点击「扩展程序」→「Apps 脚本」
- 删掉默认的代码,粘贴下面这段脚本,同样修改字体参数(比如
"Roboto"换成你要的字体)
function updateConditionalFormatFonts() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const sheets = ss.getSheets(); sheets.forEach(sheet => { const rules = sheet.getConditionalFormatRules(); rules.forEach(rule => { const format = rule.getBooleanCondition().getFormat(); format.setFontFamily("Roboto") //替换成目标字体名称 .setFontSize(12); //替换成目标字号 rule.setBooleanCondition(rule.getBooleanCondition().getType(), rule.getBooleanCondition().getValues(), format); }); sheet.setConditionalFormatRules(rules); }); SpreadsheetApp.getUi().alert("所有条件格式字体已更新完成!"); }
- 点击「运行」,第一次运行需要授权,按照页面提示完成授权后,脚本会自动遍历所有工作表的条件格式并更新字体
备注:内容来源于stack exchange,提问作者latitude




