It's an old answer to a common problem. For some strange reason, Excel members are always posting threads where the Mid(), Left(), and Right() functions no longer work. And for some similar strange reason, VBA.Mid(), VBA.Left(), and VBA.Right() cures it.
In some cases someone has actually written their own Left() or Right() functions (!). But otherwise, there must be some way in which such functions are occasionally accessed from other code libraries (either addins, or other xll's or dll's that Excel is accessing in the current environment).
It's possible that you could also fix these errors by going into to "references" and making sure the VBA For Applications is suitably high on the priority list. In fact, all vba functions could be prefixed with their class library name:
VBA.Val()
VBA.Mid()
VBA.UCase()
VBA.CLng()
VBA.Round()
and so one...
By looking in the object browser (F2 in the VBE) you can see the VBA library more directly, and all of the functions it exposes.
That's about all I know, and I'm trying to be suitably vague as I'm not really the kind to have technical answers at my fingertips.
Cheers!
ξ