Thanks for the kind words Troy, means a lot coming from you.
Error handling is actually not a trivial subject, and my attempting to discuss it now <on the 2 +/- hours sleep I'm running on this morning> is probably unwise at best. However, I don't wish to leave your post dangling so I'll attempt something of a response.
Off the top of my head what strikes me first is the placement of the
On Error Goto ... statement. As is in theory it could catch potential design errors (i.e. an error with the form, or no form at all) rather than execution errors, i.e. what happens after the form has been given life. Is that desired behavior? Is that likely to happen? I don't know; I'll have to muse a bit on that.
The subtitle to the preceding comment is that I <generally> try to put error handing code right where an error is likely to be thrown (where defensive coding cannot prevent) rather than a blanket handler, but that may be a flaw in my design rationale / style, not yours.
Code sporting a label in the middle of an
If .. End If block <as mine did>? Probably poor form, given that it's easy enough to code a cleaner alternatate.
Branching on the error number via the select statement <as yours did>? Flexible: I should have shown same.
An aside, to be semi complete on error handing one should address turning on and off error handing, that is, one should turn off handling (via
On Error Goto 0) if there is indeed no chance of error in a spread of code, especially if there is any intensive (e.g. looping) logic going on, restoring error handling if it becomes applicable again.
Finally (no try-catch ... pun intended) I tend to be shy of error templates as they tend to make me a bit lazy, i.e. relying on it rather than the specifics of the present implementation, but again, this is me recognizing my habits and shortcoming, not yours. The alternate view is that the template approach makes for constancy -- a good thing.
So as an overall strategy? I think what you posted is probably better than what I had. It's clear, consistant and logical -- what's not to like?
<kinda rambly, sorry?>