Here's something I had long forgotten. If you're using IsMissing in VBA, make sure you declare the variable within it as Variant. If not, the variable will be given the default value based on its type and IsMissing will always return false.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.