Public WithEvents cbx As MSForms.TextBox, x As Boolean, z
Private Sub cbx_Change()
On Error Resume Next
If x = False Then
Range(cbx.Tag) = cbx.Value
Else
If cbx Like "*" & "-" & "*" Then Range(cbx.Tag) = CDbl(z) - CDbl(Right(cbx.Value, Len(cbx.Value) - 1))
If cbx Like "*" & "+" & "*" Then Range(cbx.Tag) = CDbl(z) + CDbl(Right(cbx.Value, Len(cbx.Value) - 1))
End If
End Sub
Private Sub cbx_KeyDown(ByVal k As MSForms.ReturnInteger, ByVal Shift As Integer)
If k = 13 Then cbx = Format(Range(cbx.Tag).Value, "0.00"): Range(cbx.Tag) = cbx.Value: k = 0
If k = 107 Or k = 109 Then x = True: z = cbx.Value: cbx = ""
End Sub
Private Sub cbx_KeyPress(ByVal k As MSForms.ReturnInteger)
If k = 44 Then k = 46: If InStr("0123456789,.+-", Chr(k)) = 0 Then k = 0
End Sub
Private Sub cbx_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
x = False
End Sub