
As the link that I posted shows, you have to make the code jump through a lot of hoops to simulate the event in a class module. So I wouldn't use one. I'd create a common procedure in the userform module itself, or in a standard module if you want to apply it to multiple userforms.
And I'd use the After Update event instead of the Exit event - we only need to format the value if the control's value has changed.
Private Sub txt1_AfterUpdate()
Call FormatMe(txt1)
End Sub
Private Sub txt2_AfterUpdate()
Call FormatMe(txt2)
End Sub
Private Sub txt3_AfterUpdate()
Call FormatMe(txt3)
End Sub
Private Sub FormatMe(ctl As MSForms.TextBox)
If IsNumeric(ctl) Then
ctl = Format(ctl, "#,##0")
End If
End Sub