VBA程序设计代码,设计一个函数,通过输入三角形的三个边长,计算三角形的面积,要求函数在标准模块中添加

我编了一下但是算出来不对。。。不知道为什么。。。求各位大神帮忙找下问题所在。。。

主要是没有定义数据类型,计算是将字符转换为Asii码的数字进行计算,结果就错了。可在函数定义是将参数强制为小数型。将Function area(a, b, c)改为Function area(a#, b#, c#)即可。这样调用函数时就会将数值类字符自动转换成数值进行计算,得出正确结果。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-18
直接写一起,点计算就出结果,为什么还要自定义函数呀?
直接在你计算的那个按钮下代码就行了
Private Sub CommandButton1_Click()
Dim a, b, c, p, s
a = Val(TextBox1.Value)
b = Val(TextBox2.Value)
c = Val(TextBox3.Value)
p = (a + b + c) / 2
s = Sqr(p * (p - a) * (p - b) * (p - c))
TextBox4.Value = s
End Sub
结果保留两位小数
Private Sub CommandButton1_Click()
Dim a, b, c, p, s
a = Val(TextBox1.Value)
b = Val(TextBox2.Value)
c = Val(TextBox3.Value)
p = (a + b + c) / 2
s = Sqr(p * (p - a) * (p - b) * (p - c))
TextBox4.Value = Round(s, 2)
End Sub
相似回答