2013-07-16 63 views
0

我有一个包含combox和两个文本框的用户表单 用户从combobox1中选择一个化学文本并输入文本框1(数字)中的化学品高度。 然后根据他选择的化学品,我定义了化学品罐的密度和面积。 然后我需要计算:textbox2.value =密度*面积* textbox1.value 密度和面积是不同的每一个化学品。 该公式是质量=密度*面积*体积。 我试图此代码: 私人小组ComboBox1_Change() 昏暗化学作为字符串用户表单计算VBA excel

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 

回答

0

密度和体积变量,它们不具有Value属性。

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

此外,密度和音量已经是双倍数,您不需要使用CDbl转换它们。

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

+0

谢谢,现在计算工作没有错误。但它给出了答案0.我猜测代码没有正确定义我的变量。 – user2588993

+0

解决了。非常感谢你。 – user2588993