Excel中我們經常會用到函數,其實ExcelVBA中也有函數。
他們之間有什麼區別和聯繫,搞懂下面四句話就知道了。
第一句:Excel中有的函數,VBA中沒有,但是可以引用
比如sum函數中Excel中,但是不在VBA中,VBA中可以調用這個函數。可以用以下語句,以下代碼就是顯示1,2,3的和是多少,
PrivateSub CommandButton5_Click()MsgBoxApplication.WorksheetFunction.Sum(1, 2, 3)EndSub
當然也可以省略中間的worksheetfunction
如下效果:
PrivateSub CommandButton5_Click()MsgBoxApplication.Sum(1, 2, 3)EndSub
建議最好不省略,好處就是會有以下提示信息:
第二句:VBA中獨有的函數,Excel中沒有
有些函數VBA中有,Excel中沒有,也舉一個例子,比如val函數。Excel中不存在,但是VBA中存在。有什麼作用?
如下代碼,如果直接輸入10元,顯示的結果是「10元」
PrivateSub CommandButton2_Click()x =InputBox("請輸入一個數")MsgBoxxEndSub
如果加上一個函數val,自動將後面的單位去除,顯示10。
PrivateSub CommandButton2_Click()x =InputBox("請輸入一個數")MsgBoxxEndSub
第三句:函數名稱相同,但是功能不一樣。
有些函數名字相同,但是功能不一樣,舉例DATE函數,Excel中可以這麼用,=DATE(2020,12,31),把這個拼成一個日期,但是VBA中是如下用法。
作用是顯示了今天的日期
PrivateSub CommandButton3_Click()MsgBoxDateEndSub
第四句:函數名稱不同,但是功能一樣
有些函數名稱不相同,但是功能一樣,比如excel中今天可以用 today函數
=today()
VBA中使用DATE函數
PrivateSub CommandButton3_Click()MsgBoxDateEndSub
以上是總結出來的Excel中函數與VBA函數的不同之處。
子曰:用之則行,不用則藏。
意思是說,如果你用我的這些建議,就馬上行動,知行合一,如果你不用,就趕緊收藏,以絕後患。