我是新来的,所以我不确定规则是否很好。我目前绊脚的代码似乎无法解决问题。
Private Sub Worksheet_Change(ByVal Target As Range)
If Format(Range("H4").Value, "HH:MM:SS") = "00:15:00" Then
MsgBox "Block 3 ends in 15 mins"
End If
End Sub
该代码能够处理单个单元格,但是当我将单元格“ H4”更改为“ H2:H7”时,它将无法工作。请帮助,并感谢您的进步。
当然.Value
,多个单元不是一个,H2:H7
而是多个值。
因此,您将需要循环测试每个值。您需要确定所有单元格是否需要满足If条件,或者仅其中之一。
这是一个按摩框每当的范围内的值的示例H2:H7
是00:15:00
。
请注意,此操作可在任何单元格的每次更改上运行。
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim c As Range
For Each c In Range("H2:H7")
If Format$(c.Value, "HH:MM:SS") = "00:15:00" Then
MsgBox "Block 3 ends in 15 mins"
End If
Next c
End Sub
如果您希望仅在Range("H2:H7")
更改单元格时运行,请使用
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("H2:H7")) Is Nothing Then
Dim c As Range
For Each c In Range("H2:H7")
If Format$(c.Value, "HH:MM:SS") = "00:15:00" Then
MsgBox "Block 3 ends in 15 mins"
End If
Next c
End If
End Sub
如果您只想测试更改的单元格(而不是整个范围),请使用
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("H2:H7")) Is Nothing Then
If Format$(Target.Value, "HH:MM:SS") = "00:15:00" Then
MsgBox "Block 3 ends in 15 mins"
End If
End If
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句