Excel VBA系列之自定義函數(shù)

在Excel VBA中不僅可以使用程序本身內(nèi)置的函數(shù)(如工作表函數(shù)或VBA函數(shù)),還可根據(jù)需求自定義函數(shù)以實現(xiàn)數(shù)據(jù)處理的要求。

1. 在如圖的成績表中,每項成績占總成績的25%,據(jù)此要計算出每項(平時、小考、期中、期末)的百分比成績。

2. 在Excel中可以直接引用單元格作參數(shù)寫出如圖的公式,然后計算出每位學(xué)生各項成績的百分比。

3. 在VBA中,我們也可以自定義一個函數(shù)來實現(xiàn)以上的公式計算。

打開Visual Basic,添加一個模塊和函數(shù)(Function,與過程Sub-End Sub原理是相同的),稱之為“計算成績”。

Function 計算成績()

End Function

4. 設(shè)自定義函數(shù)的參數(shù)為x,令函數(shù)等于參數(shù)乘以0.25,相當(dāng)于在Excel表中通過單元格引用來進(jìn)行公式計算。

Function 計算成績()

計算成績 = x * 0.25

End Function

5. 回到Excel工作表中,在H2單元格中輸入“=計算成績(D2)”,回車即可得到相應(yīng)的結(jié)果。

6. 我們同樣也可以在VBA中通過使用循環(huán)與上面自定義的函數(shù)來計算出所有項目的結(jié)果。

Sub 成績計算()

Dim i as Integer

For i = 2 to 17

? Range("H" & i) = 計算成績(Range("D" & i))

Next

End Sub

以上案例僅用于演示,更多實際應(yīng)用請根據(jù)需求進(jìn)行相應(yīng)的調(diào)整。

喜歡的朋友請多多關(guān)注,感謝支持!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容