合并两个 Worksheet_Change 子

Combine two Worksheet_Change Subs

我需要对工作簿中的一个 sheet 执行两项操作。两者都基于更改事件,但不知道如何使它们同时工作。以下是我的代码:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r As Range
Set r = Target.EntireRow

    If Target.row = 1 Then Exit Sub ' Don't change header color

    If r.Cells(1, "AD").Value <> "" Then
        r.Font.Color = RGB(0, 176, 80)
    Else
        r.Font.ColorIndex = 1
    End If
End Sub

还有这个:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim r As Range
Set r = Target.EntireRow

    If Target.row = 1 Then Exit Sub ' Don't change header color

    If r.Cells(1, "E").Value = "6" Then
        r.Font.Color = RGB(255, 0, 0)
    Else
        r.Font.ColorIndex = 1
    End If
End Sub

为了帮助确定最佳行动方案,最终结果必须是这样的:

对于在单元格 AD 中输入了日期的任何行,整行的文本颜色应更改为绿色。但是,如果任何行的单元格 E 包含 6(这是一个格式化为文本的数字),则该行中的文本应为红色。

我确定我想多了。感谢所有建议。

在第一个 If 语句中使用 And,然后添加 ElseIf 语句。

如果日期和 6 都存在,或者只有一个没有另一个,我不确定你要优先考虑什么,但你可以轻松调整下面的 If Then ElseIf 块来满足你的需求.

If r.Cells(1, "AD").Value <> "" And r.cells(1,"E").Value = "6" Then
    r.Font.Color = RGB(255, 0, 0)
ElseIf r.Cells(1,"AD").Value <> "" Then 
    r.Font.Color = RGB(0, 176, 80)
Else
    r.Font.ColorIndex = 1
End If