Я довольно плохо знаком с VBA и пытаюсь суммировать несколько текстовых полей в пользовательских формах VBA. Однако, когда я пытаюсь ввести положительное значение в текстовое поле, я сталкиваюсь с ошибкой отладки. изначально текстовое поле мешало мне вводить отрицательные числа.
Может кто-нибудь помочь мне?
Спасибо
Private Sub TxtRetirementAW()
Dim Total As Currency
Total = 0
If Len(TextBox213.Value) <> 0 Then Total = Total + (TextBox213.Value)
If Len(TextBox214.Value) <> 0 Then Total = Total + (TextBox214.Value)
If Len(TextBox215.Value) <> 0 Then Total = Total + (TextBox215.Value)
If Len(TextBox216.Value) <> 0 Then Total = Total + (TextBox216.Value)
If Len(TextBox217.Value) <> 0 Then Total = Total + (TextBox217.Value)
If Len(TextBox218.Value) <> 0 Then Total = Total + (TextBox218.Value)
If Len(TextBox219.Value) <> 0 Then Total = Total + (TextBox219.Value)
If Len(TextBox220.Value) <> 0 Then Total = Total + (TextBox220.Value)
TxtTotalAWRetirement.Value = Format(Total, "£#,##0.00")
End Sub
Private Function Numeric0nly(ByVal KeyAscii As MSForms.ReturnInteger) As MSForms.ReturnInteger
Dim Key As MSForms.ReturnInteger
Select Case KeyAscii
Case 46, 48 To 57 ' accept only decimal "." and numbers [0-9]
Set Key = KeyAscii
Case Else
KeyAscii = 0 'Minor Bug Earlier
Set Key = KeyAscii
End Select
Set Numeric0nly = Key
End Function
Private Sub Textbox213_Change()
TxtRetirementAW
End Sub
Private Sub Textbox213_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
KeyAscii = Numeric0nly(KeyAscii)
End Sub