Excel: セル形式で数式を使用する

Excel: セル形式で数式を使用する

数式をセルの書式として使用する方法はありますか?

私の知る限り、条件付き書式設定では、何らかの条件に基づいて静的な書式設定のみが適用されます。書式設定自体は動的にしたいです。たとえば、セルの色をその内容に設定したいのですが (セルの値が「赤」の場合は、色として赤を使用します)、色ごとに条件付き書式設定ルールを設定しません。

これをマクロで実行できることはわかっていますが、セルを変更するたびにマクロを実行したくありません。

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

使用方法:

  1. Alt+ を押しますF11
  2. プロジェクト エクスプローラー (左パネル) で、書式設定を適用するワークシートをダブルクリックします。
  3. ウィンドウにコードを貼り付けます。

サブルーチンは自動的に実行されます:

  • 上記の「赤」、「青」、「シャルトリューズ」、「ラベンダー」と入力すると、どれでも特定のワークシートのセル
  • 式がどれでもセルは「赤」、「青」、「シャルトリューズ」または「ラベンダー」のいずれかを返します

セルに色を付ける必要があるたびに、関数を手動で実行する必要はありません。

IFブロックの条件を変更することで、この関数が「作用する」セルを制限することもできます。たとえば、列のセルに色を付けるには、ただし、上記の 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 ProjectThisWorkbookWorksheetSheetChange

ここに画像の説明を入力してください

ここに画像の説明を入力してください

私がリンクした例では、このイベントを使用してセルの色を制御しています (数値を含む case ステートメントの代わりに、文字列"red",を使用するようにコードを更新する必要があります) 。"green""blue"

関連情報