0

我有大量使用条件格式格式化的数据,但只有 10% 的单元格通过条件格式着色,所以我只想将彩色单元格颜色复制到复制的范围

这是从一个范围到另一个范围复制条件格式颜色的代码。我想知道如何从复制中跳过白色,以便我可以将此循环时间减少 90%

Sub MatchColors2()
Dim rngTo As Excel.Range
Dim rngFrom As Excel.Range
Dim i As Long
Dim j As Long

Set rngFrom = ActiveSheet.Range("C5:G1000")
Set rngTo = ActiveSheet.Range("I5:M1000")

For i = 1 To rngFrom.Areas.Count
    For j = 1 To rngFrom.Areas(i).Cells.Count
        rngTo.Areas(i).Cells(j).Interior.Color =rngFrom.Areas(i).Cells(j).DisplayFormat.Interior.Color
    Next j
Next i
End Sub

谢谢

4

1 回答 1

1

如果您的意思是只想复制已激活条件格式的单元格的颜色,请添加这样的测试

(顺便说一句,因为你rng的只有一个区域,你不需要外循环)

For j = 1 To rngFrom.Cells.Count
    If rngFrom.Cells(j).DisplayFormat.Interior.Color <> rngFrom.Cells(j).Interior.Color Then
        rngTo.Cells(j).Interior.Color = rngFrom.Cells(j).DisplayFormat.Interior.Color
    End If
Next j
于 2013-10-20T04:37:18.063 回答