I am trying to use a VBA regular expression to check the time range of a form: #0:00xm - #0:00xm
where x
is a
or p
. Thus, the string literal can be "1:30pm - 12:00am"
. I want to map cells that have this pattern.
When I use the regular express in this online tool: http://public.kvalley.com/regex/regex.asp
and check my expression, it matches correctly.
However, when I use the same expression in VBA, it does not match.
Dim rRange As Range Dim rCell As Range Set rRange = Range("A2", "A4") '"G225") For Each rCell In rRange.Cells MsgBox (rCell.Value) If rCell.Value Like "^([0-9]{1,2}[:][0-9]{2}[apm]{2}[ ][-][ ][0-9]{1,2}[:][0-9]{2}[apm]{2})$" Then MsgBox ("YES") 'rCell.Interior.Color = RGB(0, 250, 0) Else MsgBox ("NO") 'rCell.Interior.Color = RGB(250, 0, 0) End If Next rCell
source share