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のエリアは1つしかないので、外側のループは必要ありません)

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 に答える