のようなセルを作成する必要があり、Excel の数式または VBA コードでそれを行う方法を探しています。
赤から緑、または単に黒の2 つの異なる形式がありますが、すべての場合が If に依存するわけではありません。
例えば:
ケース 1 : セル F1 と G1 に値がある場合、フォーマットは赤から緑になります
ケース 2 : セル F1 に値があり、G が空の場合、画像 1 の最終的な形式は Just black でなければなりません
のようなセルを作成する必要があり、Excel の数式または VBA コードでそれを行う方法を探しています。
赤から緑、または単に黒の2 つの異なる形式がありますが、すべての場合が If に依存するわけではありません。
例えば:
ケース 1 : セル F1 と G1 に値がある場合、フォーマットは赤から緑になります
ケース 2 : セル F1 に値があり、G が空の場合、画像 1 の最終的な形式は Just black でなければなりません
この 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