Testing to find errors
Errors that occur while Excel executes your code – the typical runtime errors – do not always reveal themselves immediately. It is quite possible to work with a specific Sub procedure for a while before a dialog box will pop up and spoil your fun. "How's that possible?", you may ask.
The simple answer is that users often use a procedure without making any so-called mistakes. However, being human, we sometimes use text instead of numerical values. That's just one example. The point is, these errors are not always predictable, and it happens all the time, especially if you are new to programming. Programming is not only about knowing syntax, but also about being able to think logically.
A good understanding of math will also come in handy. For instance, dividing by zero, or trying to calculate the square root of a negative number, is guaranteed to invoke a runtime error.
Add to this other mistakes, such as typing text...