在VBA过程中将用户窗体文本框条目分配给变量

时间:2018-06-21 13:01:51

标签: vba variables textbox userform

我有代码生成一个名为MaterialForm的用户窗体,其中包含一个名为txtGravity的文本框。我的目标是将条目输入txtGravity框中,检查它是否为数字,然后将数字值存储为变量以供我的过程使用。

在我提供的代码中,数字检查正在按预期方式工作,并且只会传递整数。但是,从字符串到双精度的转换不起作用。并将值“ 0”存储在变量EnteredGrav中。

这是代码

Private Sub Cmd_Save_Click()
    With txtGravity   'Check for non-numerical or empty values
    If IsNumeric(.Text) = False Or Len(.Text) = 0 Then
        .Text = ""
        MsgBox "It must be a numeric value"
        .SetFocus
        Exit Sub
    Else  'Convert the text (string) to the data type double
        EnteredGrav = CDbl(Trim(txtGravity.Value))
    End If
    End With
End Sub

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

尝试以下3行:

Private Sub Cmd_Save_Click()

    Dim enteredGrav As Double
    enteredGrav = CDbl(Trim(Me.txtGravity.Value))
    MsgBox enteredGrav

End Sub

如果有效,请尝试从此处构建代码。可能您未输入条件或声明不正确。