Is EmpID always in character 5? if so
Code:
Emp_ID=Cint(Mid(Header,4,1))
Code:
EMP_location = InStr(1, UCase(Header), "LFCC" Or "OFCC" Or "LFCP" Or "OFCP")
is erroneous. You can't have "OR'ed" arguments. VBA isn't very smart.
Try
Code:
Private Function Get_EMP_ID_From_Header(Header As String) As Integer
Dim EMP_location As Integer
Dim EMP_ID As Integer
'this avoids complex nested if's. It's very, very fast
If InStr(1, Header, "LFCC") > 0 Then EMP_location = InStr(1, Header, "LFCC")
If InStr(1, Header, "OFCC") > 0 Then EMP_location = InStr(1, Header, "OFCC")
If InStr(1, Header, "LFCP") > 0 Then EMP_location = InStr(1, Header, "LFCP")
If InStr(1, Header, "OFCP") > 0 Then EMP_location = InStr(1, Header, "OFCP")
EMP_ID = Mid(Header, EMP_location + 4, 1)
Get_EMP_ID_From_Header = EMP_ID
End Function