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

问题描述:

VBA程序设计代码,设计一个函数,通过输入三角形的三个边长,计算三角形的面积,要求函数在标准模块中添加
代码应该怎么写?急
1个回答 分类:综合 2014-11-10

问题解答:

我来补答
Function getArea(a As Double,b As Double,c As Double) As Double
Dim perimeter As Double
Dim area As Double
perimeter = (a + b + c) / 2
area = Sqr(perimeter * (perimeter - a) * (perimeter - b) * (perimeter - c))
getArea = area
End Function
把这个函数放到标准模块中就行了,然后向调用excel的公式一样调用这个函数就行了.
再问: 还有,怎么把函数在标准模块中添加?这个代码是写在哪里,写在userform的代码里面吗?
再答: 看你想怎么用了,如果你已经做了userform,那你就可以把这个放到userform里,然后你代码里调用就行了,传递三边的数给函数,会返回给你面积值。 如果你想象使用excel的Sum函数公式那样在单元格里使用,那就得放到模块里了,从VBA project点击右键插入标准模块,把上面的函数放进去就行了。 声明一下:我上面写的程序没有错误判断,没做三角形三边是否符合要求的判断。
再问: j就是这样的一个userform,好像在userform中输入代码不行啊,能不能解答一下?大神,求求求
再答: 那你把代码写在计算的按钮click事件中,然后a=边长a输入框的值, b=边长b输入框的值,   c=边长c输入框的值,面积label的值=area。我不知道你做的输入框和label的变量名是什么,写个代码你再根据你的修改一下Private Sub CommandButton1_Click()    Dim area As Double    Dim perimeter As Double    perimeter = (CDbl(TextBox1.Value) + CDbl(TextBox2.Value) + CDbl(TextBox3.Value)) / 2    area = Sqr(perimeter * (perimeter - CDbl(TextBox1.Value)) * (perimeter - CDbl(TextBox2.Value)) * (perimeter - CDbl(TextBox3.Value)))    Label5.Caption = areaEnd Sub
 
 
展开全文阅读
剩余:2000