Excel でセルの値を変更するときにセルの色を固定する

Excel でセルの値を変更するときにセルの色を固定する

以下は私のワークブック内の 4 つのセルの例です。

26  99
2   1

ワークブックは、100=赤、0=黄というルールに従って色分けされます。つまり、0 に近いほど黄色が強くなり、100 に近いほど赤が強くなります (これは、値に基づいて色を割り当てる条件付き書式設定ルールによって定義されます)。

この例では、99 は非常に赤く、1 と 2 は非常に黄色く、26 はオレンジがかった色になります。

セルの色はそのままにして、セルの値を変更したい。この例では、

E=0.0,Q=26  E=0.0,Q=99
E=2.10e-11,Q=2  E=1.02e-08,Q=1

(qの右側の値が最初の行列と同じであることに注目してください)

条件付き書式ルールのため、新しい値を貼り付けると色が消えてしまいます。

答え1

Q=の後の数値に基づいて、常に 100 の書式設定条件を追加できます。ここでは、各セルの数値を 1 ~ 100 と直接比較するか、最初の比較でエラーが発生した場合は のE=0.0,Q=99後の数値と比較することによって、選択したセルに対してこの処理を実行するマクロを示します。Q=

マクロを実行した後で削除すると、ファイルを XLSM として保存する必要がなくなります。Selection.FormatConditions.Delete現在の書式条件も削除する場合は、アポストロフィを削除して行のコメントを解除します。

これは、数値が常に 1 から 100 までの整数 (セル値として、または の後Q=) であることを前提としています。小数値では機能しません。

Sub FormatMe()
    Application.Calculation = xlCalculationManual
    Application.ScreenUpdating = False
    'Selection.FormatConditions.Delete
    Dim addr As String
    addr = Replace(Selection.Cells(1).Address, "$", "")
    For i = 1 To 100
        With Selection.FormatConditions.Add(xlExpression, Formula1:= _
            "=OR(" & addr & " = " & i & ", IFERROR(RIGHT(" & addr & _
            ", LEN(" & addr & ") - FIND(""Q"", " & addr & ", 2) - 1) = """ & i & """, FALSE))")
           .Interior.Color = RGB(255, 255 - Int(i / 100 * 255), 0)
        End With
    Next
    Application.Calculation = xlCalculationAutomatic
    Application.ScreenUpdating = True
End Sub

答え2

  • 予測: 条件付き書式を使用したい(VBAは使用しない)
  • 予測: 色付けしたいセルには、「E=0.0,Q=26」のような「複雑な」値が含まれています

  • 答え: 1 つ選択してください - Excel の条件付き書式は、値「E=0.0,Q=26」を「読み取り」、数値 26 を見つけるほどスマートではありません。

    • 独自の書式設定式を使用することはできますが、条件ごとに 1 つの色しか使用できないため、グラデーションを適用できません。つまり、「数字が 29 の場合は、この色に正確にする」ということになります。(私の知る限りでは、間違いがあれば訂正してください)
    • Excel はセルから数字 26 を自動的に抽出し、その (隣接する) セルを書式設定できます (セル F4 を使用=NUMBERVALUE(RIGHT(F4,LEN(F4)-FIND(",",F4)-2)))
  • 私のおすすめデータを別の方法で提示し、E と Q をヘッダーなどとして使用し、すべての数字を別々のセルに保持します。

答え3

貼り付け値を使用すると、数字のみが貼り付けられます。そうでない場合は、書式も貼り付けられます。

関連情報