Thanks, Jan

I don't think that would accomplish what I'm trying to do, which is to call the macros that service the (several hundred) cmdButton clicks on a form directly from the Class with just one line of code, and eliminate the usual handlers altogether. To do this I've named all the macros with the same name as the button they serve, but with a suffix tacked on so the control name doesn't conflict with the handling Procedure. In my case I appended "Click".

So if I have 100 CmdButtons, named CB1 thru CB100, then I would name the Subs that handle the button clicks as Sub CB1Click(), Sub CB2Click().. Sub CB100Click(), and when a click event comes in to classCmdButtons, all it has to do is send it blindly on it's way with Application.Run(classCmdButtons.name & "Click"). No listeners required. Am I being too optimistic? This would save me several hundred lines of code if I can get it to work.