I have a series of macros stored in one module which I need to make as common as possible for execution in two locations. File locations will differ from one to the other, and I'd like to set it up so that all necessary changes can be made with just one line change. \n\nNaturally, I thought of using compiler directives to bracket the constants that are used for directory names, and came up with this code: \n\nConst LOCATION = "AWAY"\n\nConst AT_HOME = "HOME"\nConst AT_AWAY = "AWAY"\n\n#If LOCATION = AT_HOME Then\nConst GOTIT = "Home"\n#Else\nConst GOTIT = "Away"\n#End If\n\nSub Run_It()\nMsgBox LOCATION\nMsgBox GOTIT\nEnd Sub\n\n....but it doesn't work, and I can't see why. Any setting of LOCATION returns "Home" in GOTTIT. "LOCATION = AT_HOME" always evaluates as True.\n\nSame behaviour under Windows 7 and Vista, using Excel 2007 or 2010. \n\nAny idea why this happens? I guess I can fix by replacing constants with global variables, but I'd like to know why it doesn't work this way.