如果偏移值 = 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
如果 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