0

のようなセルを作成する必要があり、Excel の数式または VBA コードでそれを行う方法を探しています。

ここに画像の説明を入力

から、または単にの2 つの異なる形式がありますが、すべての場合が If に依存するわけではありません。

例えば:

ケース 1 : セル F1 と G1 に値がある場合、フォーマットは赤から緑になります

ケース 2 : セル F1 に値があり、G が空の場合、画像 1 の最終的な形式は Just black でなければなりません

ここに画像の説明を入力

4

1 に答える 1

1

この VBA コードは動作するはずです。それはworksheet_changeあなたのシートのイベントに入ります。

色を変更するために列 I に設定しただけですが、必要に応じて J と K に拡張できます。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)

With Application
    .EnableEvents = False
    .ScreenUpdating = False
End With

If Target.Column = 6 Or Target.Column = 7 Then

    Select Case Target.Column

        Case Is = 6

            If Target <> vbNullString And Target.Offset(, 1) <> vbNullString Then

                With Target.Offset(, 2)
                    .Characters(Start:=1, Length:=5).Font.ColorIndex = 3
                    .Characters(Start:=6, Length:=3).Font.ColorIndex = 4
                End With

            Else: Target.Offset(, 2).Font.ColorIndex = 0

            End If

        Case Is = 7

            If Target <> vbNullString And Target.Offset(, -1) <> vbNullString Then

                With Target.Offset(, 1)
                    .Characters(Start:=1, Length:=5).Font.ColorIndex = 3
                    .Characters(Start:=6, Length:=3).Font.ColorIndex = 4
                End With

            Else: Target.Offset(, 1).Font.ColorIndex = 0

            End If

    End Select

End If

With Application
    .EnableEvents = True
    .ScreenUpdating = True
End With

End Sub
于 2013-02-22T14:32:48.637 に答える