如何使用不同格式创建单元格

时间:2013-02-22 12:39:18

标签: excel excel-vba excel-formula vba

我必须创建一个类似的单元格,我正在寻找一种方法来使用excel公式或VBA代码。

enter image description here

有两个不同的格式红色绿色或只是黑色,但并非在所有情况下都取决于。

例如:

案例1 :如果单元格F1和G1具有值,则格式为红色到绿色

案例2 :如果单元格F1有值但G为空,则图像1中的最终格式必须为黑色

enter image description here

1 个答案:

答案 0 :(得分:1)

此VBA代码应该有效。它会进入工作表的worksheet_change事件。

我只是为第一列设置了更改颜色,但如果需要,可以扩展到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