The various conditions have to apply for anything to happen. The subject must be in the format
Employee ID - Position Change - 13/05/2019
i.e. three blocks of text (0,1 & 2) separated by hyphens. Any other message format is ignored. Employee ID must therefore not contain a hyphen, or you would have to adjust the numbers of elements in the variant produced from splitting.
If Not UBound(vSubject) = 2 Then GoTo lbl_Exit
The last of the three segments must be a date.
If Not IsDate(Trim(vSubject(2))) Then GoTo lbl_Exit
The worksheet must be in the format suggested i.e. the first column should have the list of IDs, the second the e-mail address(es) where the messages are to be sent. There should be a header row. You should however get an error message if the workbook is in error.
As you have probably gathered the worksheet is read into an array and that array is processed to get the IDs and addresses.
The macros should be saved in an ordinary module or the rule if used won't see it.
Outlook VBA can be very fussy over security. If the macro doesn't run at all see https://www.gmayor.com/create_and_em...gital_cert.htm