セル A8 に TL という文字を入力した場合、そのセルとその行の他の複数のセルを青色にする方法はありますか?

セル A8 に TL という文字を入力した場合、そのセルとその行の他の複数のセルを青色にする方法はありますか?

セル A8 に TL という文字を入力した場合、そのセルとその行の他の複数のセルを青にする方法はありますか? 複数の文字/色のバリエーションを設定する方法はありますか?

8 つの色に対応する 8 つの 2 文字の組み合わせがあります。たとえば、TS = ライトブルー、TC = ミディアムブルー、TL = ダークブルー、DD = 黒、RS = ライトグリーン、RC = ミディアムグリーン、RL = ダークグリーン、LT = ブラウンです。これらの文字の組み合わせの 1 つを M8 に入力し、行 8 の列 B、C、E、F、K-AM を対応する色に変えたいと思います。これを行う方法はありますか?

答え1

セルにTLという文字を入力するとA8...これらの文字の組み合わせのいずれかを入力してくださいM88 行目に B、C、E、F、K-AM の列があります...

あなたの説明はわかりにくいです。このコードは M8 用です。

ワークシート名と必要な色の RGB パラメータを調整してから、このコードを実行します。

Option Explicit

Sub addCFRs()

    Dim i As Long, rng As Range, arr1 As Variant, arr2 As Variant

    arr1 = Array("TS", "TC", "TL", "DD", "RS", "RC", "RL", "LT")
    arr2 = Array(RGB(0, 0, 255), RGB(0, 0, 128), RGB(0, 0, 64), RGB(0, 0, 0), _
                 RGB(0, 255, 0), RGB(0, 128, 0), RGB(0, 64, 0), RGB(0, 0, 0))

    With Worksheets("sheet6")

        Set rng = Intersect(.Range("B:C, E:F, K:AM"), .Range("8:8"))

        With rng

            .FormatConditions.Delete

            For i = LBound(arr1) To UBound(arr1)

                .FormatConditions.Add Type:=xlExpression, Formula1:="=$M8=" & Chr(34) & arr1(i) & Chr(34)
                .FormatConditions(.FormatConditions.Count).Interior.Color = arr2(i)

            Next i

        End With

    End With

End Sub

茶色を除いて、ほとんどの RGB は希望する色に多少近いですが、茶色がどの RGB で構成されているのかはわかりません。

答え2

これは条件付き書式を使用して実行できます。
色ごとに個別の数式が必要になります。

  • 8行目で色を変更したいセルを強調表示します(Ctrl+クリックで個別のセルを選択できます)
  • 「条件付き書式」に移動し、「新しいルール」を選択します
  • 「数式を使用して書式設定するセルを決定する」を選択します。
  • ルールの説明タイプに=$M8="TL"
  • 「書式」をクリックし、上部の「塗りつぶし」タブを選択します。
  • コードに適切な色を選択してください
  • [OK] をクリックし、もう一度 [OK] をクリックします。これ
    で 8 行目の作業は完了です。

より多くの行を実行したい場合は、「条件付き書式」に移動して「ルールの管理」を選択します。

「適用先」ボックスの右側にあるアイコンを選択し、色を変更するすべての領域を強調表示します。ここでも、 を使用してCtrl個別の領域を選択できます。必要に応じて列全体を選択することもできますが、これによりシートの速度が低下する可能性があります。

この設定が完了したら、他のカラーコードに対してこのプロセスを繰り返すことができます。TL数式内を使用したいコードに置き換えるだけです。

関連情報