|  
                                             
	Hallo Hermdaddy, 
	sicher kann man hier auch ein zweites Klassenmodul verwenden. Nur wozu? Aber wenn du das schon machst, dann eher so wie von Gast68385 vorgeschlagen. Da du jedoch hinter den Events noch eine Nummer hinzugefügt hast, werden diese nicht mehr als solche erkannt und daher nicht ausgeführt. 
	Viel einfacher wäre es, wenn du im Userform lediglich <= 5038 durch <= 5107 ersetzt und den Rest unverändert lässt. 
	Den Code im Klassenmodul mytextbox baust du nun so auf:  
Public WithEvents tbx As MSForms.TextBox
 
Private Sub tbx_Change()
   
  On Error GoTo Ende
   
  SABW = Sheets("Tabelle1").Cells(2, 12)
  
  Select Case Val(Right(tbx.Name, 4))
    Case 5001 To 5038
      If CDbl(tbx) > 4 Or CDbl(tbx) < -4 Then
        tbx.BackColor = vbRed
      Else
        tbx.BackColor = vbGreen
      End If
    Case 5089 To 5107
      If CDbl(tbx) > (SABW * 2) Or CDbl(tbx) < -(SABW * 2) Then
        tbx.BackColor = vbRed
      Else
        tbx.BackColor = vbGreen
      End If
  End Select
Exit Sub
Ende:   tbx.BackColor = vbWhite
End Sub
	PS: Wenn du es ganz genau machen willst, kannst du alternativ im Userformcode natürlich auch die Zeile 
If Val(Right(ctrl.Name, 4)) >= 5001 And Val(Right(ctrl.Name, 4)) <= 5038 Then  
	durch die zwei Zeilen 
If Val(Right(ctrl.Name, 4)) >= 5001 And Val(Right(ctrl.Name, 4)) <= 5038 _
Or Val(Right(ctrl.Name, 4)) >= 5089 And Val(Right(ctrl.Name, 4)) <= 5107 Then
 
	ersetzen. 
	Gruß Mr. K. 
     |