It's very common to find junk code that is never used to make the reversing of the macro more difficult. For example, in the following image you can see that and If that is never going to be true is used to execute some junk and useless code.
Using the GetObject function it's possible to obtain data from forms of the macro. This can be used to difficult the analysis. The following is a photo of a macro form used to hide data inside text boxes (a text box can be hiding other text boxes):