A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
I realise that I'm replying to myself, but I thought I'd say how this was resolved in case others find it useful. In desperation, I contacted the author of Code Cleaner and he was brilliant. He took the 'corrupted' file and ran it through his own compiler without a hitch. He returned it to me and, wonder of wonders, it worked beautifully. His theory is that the relationship between Windows 8 and VBA within Excel 2013 is possibly unreliable as, in his experience, the same fault has developed on other similar configurations. My theory is that a critical flag is set by the code, even if it is clean, and mine was. Something triggers the flag and once set, it could only be unset by running the file through another compiler on a different system. This has taken me weeks to sort out and I had no replies from other forums, so thanks to Norman again for his suggestion. Other things that people in a similar predicament might try, apart from running Rob's Code Cleaner, include making all form control references consistent, i.e. [userform].controls.item("[control name"]) - as mentioned above, as well as the usual software updates. But sometimes it's a totally unpredictable and illogical solution that works.