I stopped creating events from the vbe long ago because the odd one here and there failed to "connect".
If you select all of the involved controls in design view you can apply the same user defined function for any event. However you often need a parameter to identify which control called it. Sometimes it can be as simple as relying on Screen.Active control. Other times you'd need to ID the control somehow, which I've done by individually providing a string as a parameter in the function call. So while I can assign 50 controls the same function for an event all at once, I have to go back and put e.g. txtCust as a parameter, or individually add a tag value and use that in code instead. It might not help you and it might seem like the same amount of work but I can tell you it beats creating 50 events, which is especially good in the event you ever have to modify the event. Better to modify one instead.
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.