MW211 EXIT

devlog
ExcelVBA/文字色を透明にする
2018年09月02日
文字色を透明にするパラメータというのはない。
よって、背景色と同色にする対応となる。
以下のような感じ。
┌──────────────────────────────────────┐
│With Cells(1, 1)                                                            │
│    .Font.Color = .Interior.Color                                           │
│End With                                                                    │
└──────────────────────────────────────┘

複数範囲の場合は以下のような感じでもいけるのだが。
┌──────────────────────────────────────┐
│With Range(Cells(1, 1), Cells(2, 2))                                        │
│    .Font.Color = .Interior.Color                                           │
│End With                                                                    │
├──────────────────────────────────────┤
│With Union(Cells(1, 1), Cells(2, 2))                                        │
│    .Font.Color = .Interior.Color                                           │
│End With                                                                    │
└──────────────────────────────────────┘
範囲内の背景色に相違があると、黒(値0=RGB(0, 0, 0))になってしまうので
うまくいかない

そういった場合もあるので、For Eachで個別に対応していった方が安全なようだ。
┌──────────────────────────────────────┐
│Dim セル As Range                                                           │
│For Each セル In Union(Cells(1, 1), Cells(2, 2))                            │
│    セル.Font.Color = セル.Interior.Color                                   │
│Next セル                                                                   │
├──────────────────────────────────────┤
│Dim セル As Range                                                           │
│For Each セル In Range(Cells(1, 1), Cells(2, 2))                            │
│    セル.Font.Color = セル.Interior.Color                                   │
│Next セル                                                                   │
└──────────────────────────────────────┘
分類:ExcelVBA