【问题标题】:VBA excel calculating in userform用户表单中的VBA excel计算
【发布时间】:2013-07-15 05:27:53
【问题描述】:

我有一个包含组合框和两个文本框的用户表单 用户从组合框1 中选择一种化学物质(文本)并在文本框1(数字)中输入化学物质的高度。 然后根据他选择的化学品,我定义化学品罐的密度和面积。 然后我需要计算:textbox2.value=density*area*textbox1.value 每种化学品的密度和面积都不同。 方程是质量=密度*面积*体积。 我试过这段代码: 私有子 ComboBox1_Change() Dim chem As String

chem = ComboBox1.Value
    mychem

End Sub
Sub mychem()
Dim density As Double
Dim volume As Double

If chem = "Sodium" Then
area = 22
density = 1.058
End If
If chem = "HCl 9%" Then
area = 22
density = 1.043
End If
If chem = "alum" Then
area = 70
density = 1.163
End If
If IsNumeric(Txtheight.Text) Then
                txtmass.Value = density *area * CDbl   (Txtheight.Value)

                   End If
end sub

【问题讨论】:

    标签: vba combobox userform


    【解决方案1】:

    密度和体积是变量,它们没有Value 属性。

    TextBox4.Value = CDbl(density) * CDbl(volume) * CDbl(TextBox8.Value)
    

    另外,密度和体积已经是 Doubles,不需要用 CDbl 转换。

    您应该花时间重命名控件。我建议txtHeight,但您的描述不清楚文本框是否包含高度、面积或体积(?)。

    【讨论】:

    • 谢谢,现在计算没有错误了。但它给出了答案 0。我猜代码没有正确定义我的变量。
    猜你喜欢
    • 1970-01-01
    • 2021-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    • 1970-01-01
    相关资源
    最近更新 更多