数式をセルの書式として使用する方法はありますか?
私の知る限り、条件付き書式設定では、何らかの条件に基づいて静的な書式設定のみが適用されます。書式設定自体は動的にしたいです。たとえば、セルの色をその内容に設定したいのですが (セルの値が「赤」の場合は、色として赤を使用します)、色ごとに条件付き書式設定ルールを設定しません。
これをマクロで実行できることはわかっていますが、セルを変更するたびにマクロを実行したくありません。
答え1
これには数式はないと思いますし、条件付き書式マネージャーにオプションもありません。
ただし、VBA を使用することもできます。始めるための小さな関数を以下に示します。
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'Do nothing if more than one cell is updated, or if cell contents are deleted
If Target.Cells.Count > 1 Or IsEmpty(Target) Then
Exit Sub
End If
Select Case LCase(Target.Value)
Case "red"
newcolor = RGB(255, 0, 0)
Case "blue"
newcolor = RGB(0, 0, 255)
Case "chartreuse"
newcolor = RGB(0, 255, 0)
Case "lavender"
newcolor = RGB(224, 176, 255)
Case Else
newcolor = Target.Interior.Color
End Select
Target.Interior.Color = newcolor
Application.EnableEvents = True
End Sub
使用方法:
- Alt+ を押しますF11。
- プロジェクト エクスプローラー (左パネル) で、書式設定を適用するワークシートをダブルクリックします。
- ウィンドウにコードを貼り付けます。
サブルーチンは自動的に実行されます:
- 上記の「赤」、「青」、「シャルトリューズ」、「ラベンダー」と入力すると、どれでも特定のワークシートのセル
- 式がどれでもセルは「赤」、「青」、「シャルトリューズ」または「ラベンダー」のいずれかを返します
セルに色を付ける必要があるたびに、関数を手動で実行する必要はありません。
IFブロックの条件を変更することで、この関数が「作用する」セルを制限することもできます。たとえば、列のセルに色を付けるには、Cただし、上記の IF ブロックを ff に変更できます。
If Target.Cells.Count > 1 Or Target.Column <> 3 Then
Exit Sub
End If
もちろん、ブックをマクロ対応ドキュメントとして保存する必要があります。
答え2
私の知る限り、各色に条件付き書式を追加しない限り、マクロなしでは実行できません。 良い面としては、使用する色ごとに 1 つ作成するのにそれほど時間はかからないはずです。5 分程度のプロセスだと思います。
答え3
他の投稿者と同じく、マクロを使う必要がある可能性が高いと思います。マクロを毎回手動で実行する必要はありません。マクロをシート変更イベント。
VBE でMicrosoft Excel Objects
フォルダーをクリックし、ダブルクリックしてコード スタブを生成します。左側で を選択し、右側で を選択します。 VBA Project
ThisWorkbook
Worksheet
SheetChange
私がリンクした例では、このイベントを使用してセルの色を制御しています (数値を含む case ステートメントの代わりに、文字列"red"
,を使用するようにコードを更新する必要があります) 。"green"
"blue"