回答:
セルのフォントの色を塗りつぶしの色に一致させるワークシート機能(手動以外)については知りませんが、マクロを使用すると非常に簡単です。以下の最初のマクロは、選択した範囲のセルのフォントの色を変更して、塗りつぶしの色と一致させます。2番目は、フォントの色をデフォルトの黒に戻します。
Sub HideFont()
Dim cell As Variant
For Each cell In Selection
cell.Font.Color = cell.Interior.Color
Next cell
End Sub
Sub UnhideFont()
Dim cell As Variant
For Each cell In Selection
cell.Font.Color = 0
Next cell
End Sub
マクロをインストールするには、選択Developer
/ Visual Basic
メインリボンから、次に選択Insert
/ Module
メニューから。開いた編集ペインにコードを貼り付けます。マクロは、メインリボンからDeveloper
/ Macros
を選択してアクセスできるマクロリストに表示されます。変更する範囲をマウスで選択し、実行するマクロを選択するだけです。
さて、コードを送信したのはこれが初めてなので、ここに行きます。マクロの道が進むべきだと思いましたが、条件付き書式を使用してフォントをセルの色と同じに設定できないので、他の唯一の方法は同様に機能するマクロで両方を変更することです条件付きフォーマットの効果、以下を参照:
Sub change()
Dim Rstart, Rmid, Rend, Gstart, Gmid, Gend, Bstart, Bmid, Bend, Rsd, Rdd,_
Gsd, Gdd, Bsd, Bdd, Rcell, Gcell, Bcell As Integer
Dim maxsel, minsel, halfsel, halfval, v As Double
Rstart = 0
Rmid = 230
Rend = 255
Gstart = 0
Gmid = 230
Gend = 0
Bstart = 255
Bmid = 230
Bend = 0
Rsd = Rmid - Rstart
Rdd = Rend - Rmid
Gsd = Gmid - Gstart
Gdd = Gend - Gmid
Bsd = Bmid - Bstart
Bdd = Bend - Bmid
maxsel = Application.WorksheetFunction.Max(Selection)
minsel = Application.WorksheetFunction.Min(Selection)
halfsel = (maxsel - minsel) / 2
halfval = minsel + halfsel
If halfval = 0 Then Exit Sub
Dim cell As Variant
For Each cell In Selection
v = cell.Value
If v >= minsel And v < halfsel Then
Rcell = Round((Rstart + ((halfval - v) / halfsel) * Rsd), 0)
Gcell = Round((Gstart + ((halfval - v) / halfsel) * Gsd), 0)
Bcell = Round((Bstart + ((halfval - v) / halfsel) * Bsd), 0)
Else
Rcell = Round((Rmid + ((v - halfval) / halfsel) * Rdd), 0)
Gcell = Round((Gmid + ((v - halfval) / halfsel) * Gdd), 0)
Bcell = Round((Bmid + ((v - halfval) / halfsel) * Bdd), 0)
End If
cell.Font.Color = RGB(Rcell, Gcell, Bcell)
cell.Interior.Color = RGB(Rcell, Gcell, Bcell)
Next cell
End Sub
元の質問には3年遅すぎますが、これが誰かの助けになることを願っています。
これが私のやり方です。
.Cells(RowTo、ColHcpDiP).Font.Color = .Cells(RowTo、ColHcpDiP).Interior.Color '色を非表示に設定