![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction.png)
VBA使用工作表函數
有些Excel工作表函數,無法直接在VBA中使用,像是熟悉的VLOOKUP, COUNTIF, SUMIF等函數。
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-1.png)
如果想要在VBA使用這些函數則需要搭配「WorksheetFunction」物件,以下讓們使用VBA執行「COUNTIF」函數。
使用語法
Worksheet.Function.函數名稱
輸入巨集
※輸入以下指令※
Sub WorksheetFuncion練習()
Range(“D2”) = WorksheetFunction.CountIf(Range(“B2:B16”), “>50”)
End Sub
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-2.png)
執行巨集
點選「開發人員」-「巨集」或按下「Ctrl」+「F8」快捷鍵,並「執行」巨集。
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-3.png)
執行後則快速統計價格「>50」之數量,等同於執行工作表「COUNTIF」函數。
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-4.png)
語法說明
Range(“D2”)
‘同Range(“D2”).value,將「D2」儲存格代入
WorksheetFunction.CountIf(Range(“B2:B16”), “>50”)
‘使用工作表函數CountIf,統計「B2:B16」儲存格大於50的數量
延伸應用
※輸入以下指令※
Sub WorksheetFuncion練習2()
A = InputBox(“輸入條件”)
Range(“D2”) = WorksheetFunction.CountIf(Range(“B2:B16”), A)
End Sub
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-5.png)
執行巨集後會跳出「輸入條件」,則可以自行輸入如「>50」。
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-6.png)
執行後則快速統計價格「>50」之數量。
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-7.png)
「輸入條件」輸入如「<100」。
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-8.png)
執行後則快速統計價格「<100」之數量。
![](https://lazyorangelife.com/wp-content/uploads/2024/05/VBA-WorsheetFunction-9.png)