This could well be the cause. I've never looked for it, but presumably there's
a function that allows you to read the keyboard scan codes from VBA. You could
put the code into a hard loop waiting until the shift key was released before
doing your SendKeys.