自從我學習了一點VBA之後已經過了幾年了,而且我確實生鏽了。VBA - 調用其他函數的函數
我想在Sub中定義變量,然後從那個Sub調用各種函數,其中一些函數會調用其他函數等等。
到目前爲止,代碼如下:
'AREAS
Public Sub Areas()
Dim h, btf, bbf, tw, ttf, tbf As Double
h = 300
btf = 150
bbf = 150
tw = 7.1
tbf = 10.7
ttf = 10.7
Call TotalArea(h, btf, bbf, tw, ttf, tbf)
Call Sum_of_Areas(h, btf, bbf, tw, ttf, tbf)
End Sub
Function TotalArea(h, btf, bbf, tw, ttf, tbf As Double) As Double
TotalArea = btf * ttf + bbf * tbf + (h - ttf - tbf) * tw
End Function
Function Area_tf(btf, ttf As Double) As Double
Area_tf = btf * ttf
End Function
Function Area_bf(bbf, tbf As Double) As Double
Area_bf = bbf * tbf
End Function
Function Area_w(h, ttf, tbf, tw As Double) As Double
Area_w = (h - ttf - tbf) * tw
End Function
Function Sum_of_Areas(h, btf, bbf, tw, ttf, tbf As Double) As Double
Sum_of_Areas = Area_tf + Area_bf + Area_w
End Function
第一位運行正常,即TotalArea功能,但另一個(Sum_of_Areas)只是給我的錯誤。我試圖找到做這件事的適當方式,以及我需要聲明哪些變量以及在哪裏。我需要將哪些變量傳遞給函數。
謝謝!
您必須將每個參數傳遞給不是可選的函數(或子)。因此'Sum_of_Areas'中的'Area_tf + Area_bf + Area_w'缺少它們的參數!請記住,Dim h,btf,bbf,tw,ttf,tbf As Double'只聲明'tbf'爲'Double',其他則是'Variant'類型。沒有錯誤信息? – BitAccesser