Avoiding Variable Errors
One of the most common errors in VBA procedures is to declare a variable and then later misspell the name. For example, suppose I had entered the following statement in the GrossMargin procedure from Listing 3.1:
totlExpenses = Application.Sum(Range("Expenses"))
Here, totlExpenses is a misspelling of the variable named totalExpenses. VBA supports implicit declarations, which means that if it sees a name it doesn't recognize, it assumes that the name belongs to a new variable. In this case, VBA would assume that totlExpenses is a new variable, proceed normally, and calculate the wrong answer for the function.
To avoid this problem, you can tell VBA to generate an error whenever it comes across a name that hasn't been declared explicitly with a Dim statement. There are two ways to do this: