如果偏移值 = TRUE,则 Sheet 上的 MSG 宏更改

MSG Macro on Sheet change if offset value = TRUE

如果 I:I 列中的公式燃料单元格在 D:D 列中的单元格更改后更改为 TRUE,我想显示一个消息框。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim myRange As Range

myRange = Range("D:D")

If Intersect(myRange, Target) Then

    If Target.Offset(0, 3).Value = True Then MsgBox "Date Range and Holiday Type Mismatch"

End If

End Sub

这是table的一个例子。基本上我会用假日类型更新列 D:D。在 I:I 列中,如果日期范围不接受 table,则单元格将变为 TRUE。如果 I:I 列中的单元格更改为 TRUE,我希望显示消息框。

一个很好的开始尝试,但有几个问题,包括在使用 Range 对象时需要 Set,以及似乎...关闭的偏移量。

这是一种方法:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim myRng As Range
    Set myRng = Intersect(Target, Me.Columns("D:D"))

    If myRng Is Nothing Then Exit Sub

    Dim myCell As Range
    For Each myCell In myRng
        If Me.Cells(myCell.Row, "I").Value = True Then
            MsgBox "Date Range and Holiday Type Mismatch"
        End If
    Next
End Sub