VBA excel在userform中计算

时间:2013-07-16 20:42:56

标签: vba combobox userform

我有一个包含combox和两个文本框的userform 用户从组合框1中选择一种化学物质(文本),并在textbox1(数字)中输入化学物质的高度。 然后根据他选择的化学品,我定义了化学品罐的密度和面积。 然后我需要计算:textbox2.value = density * area * textbox1.value 每种化学品的密度和面积都不同。 等式是质量=密度*面积*体积。 我试过这段代码:     Private Sub 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

1 个答案:

答案 0 :(得分:0)

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

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

此外,密度和音量已经是双打,你不需要用CDbl转换它们。

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