如何将Excel带条件格式的单元格颜色从一个工作表复制到另一个?
把Sheet1条件格式颜色同步到Sheet2的解决方案
因为条件格式的颜色属于单元格的显示格式,不是直接的内部填充色,所以你之前用.Interior.Color读取不到正确颜色,可通过以下方法实现:
方法一:VBA宏(最高效)
使用DisplayFormat.Color读取Sheet1单元格实际显示的颜色,再赋值给Sheet2对应单元格的内部填充色,代码如下:
Sub SyncConditionalFormatColors() Dim srcSheet As Worksheet, tgtSheet As Worksheet Dim srcRange As Range, tgtRange As Range Dim rowNum As Integer, colNum As Integer ' 指定源表和目标表 Set srcSheet = ThisWorkbook.Sheets("Sheet1") Set tgtSheet = ThisWorkbook.Sheets("Sheet2") ' 指定要同步的区域 Set srcRange = srcSheet.Range("C6:M78") Set tgtRange = tgtSheet.Range("C6:M78") ' 遍历每个单元格同步颜色 For rowNum = 1 To srcRange.Rows.Count For colNum = 1 To srcRange.Columns.Count tgtRange.Cells(rowNum, colNum).Interior.Color = srcRange.Cells(rowNum, colNum).DisplayFormat.Color Next colNum Next rowNum End Sub
操作步骤:
- 按
Alt + F11打开VBA编辑器 - 右键点击左侧工作簿名称 → 插入 → 模块
- 粘贴代码到模块窗口
- 按
F5运行宏,或者回到Excel界面,通过「开发工具」→「宏」选择运行
方法二:手动操作(无需代码)
先把Sheet1的条件格式颜色转为实际填充色,再复制到Sheet2:
- 选中Sheet1的
C6:M78区域,按Ctrl + C复制 - 新建一个空白工作表,右键点击A1单元格 → 选择性粘贴 → 选择「值和格式」,此时空白表的单元格会保留显示颜色(无格式规则)
- 选中空白表的对应区域,按
Ctrl + C,再回到Sheet2的C6单元格,右键 → 选择性粘贴 → 选择「格式」
内容的提问来源于stack exchange,提问作者excelhelppls
相关产品推荐
相关产品推荐

