Сумма положительных и отрицательных значений vba userform - PullRequest
0 голосов
/ 24 апреля 2020

Я довольно плохо знаком с 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...