Error handling!! Yeah, this one i'm sure not many knows, at least those who haven't used qbasic
ERL - ERROR LINE (where did the error occur?)
Code:
On Error GoTo handler
1: Err.Raise 9
2: Err.Raise 10
a: Err.Raise 11
3: Err.Raise 12
Exit Sub
handler:
    MsgBox "Line number:" & Erl & " Error Number:" & Err & " description:" & Err.Description
    Resume Next
Note, the label a: will refer back to 2, so use numbers as labels, and use text labels to make "groups"
well, i guess you know the other way to handle errors, with on error resume next, you already know what line cause them, but on the other hand it may be a mess with integrated error handling.

On Local error resume next - will only catch errors from withing current procedure.

On error goto 0 - ends the error handling sometimes you need to do that.
well i hope i got you enough about error handling.