在Excel里有很多函數(shù)使用起來(lái)很方便,,譬如:sum,、average、min,、max,。 但是工作表函數(shù)是不能在宏代碼里直接使用的,,它們和vba語(yǔ)言中的函數(shù)是不一樣的,;與之相對(duì)應(yīng),,Vba中的函數(shù)例如val,mid在工作表里也不能通用,。 所以在vba語(yǔ)言里調(diào)用工作表函數(shù),,例如: 1. 讓一個(gè)變量得到單元格A1到B5的總和(變量設(shè)為X) X=SUM(RANGE('A1:B5'))的寫(xiě)法明顯是行不通的。 2. 正確寫(xiě)法是: 1 Sub 引用工作表函數(shù)()2 Dim x%3 x = Application.WorksheetFunction.Sum(Range('A1:B5'))4 End Sub 也就是說(shuō)必須通過(guò) Application 對(duì)象的 Worksheetfunction 屬性來(lái)間接調(diào)用工作表函數(shù),! 以下三種方法都對(duì): 1 '借用工作表函數(shù)2 Sub 運(yùn)用工作表函數(shù)()3 MsgBox Application.WorksheetFunction.CountIf(range('a1:a10'), '鋼筆')4 MsgBox WorksheetFunction.CountIf(range('a1:a10'), '鋼筆')5 MsgBox Application.CountIf(range('a1:a10'), '鋼筆')6 End Sub 同時(shí),,也可以采用下面的方式: 1 Sub 帶工作表函數(shù)的計(jì)算()2 Dim i As Integer3 For i = 1 To 104 Sheet1.Cells(i, 4) = '=sum(a' & i & ':b' & i & ')'5 Next i6 End Sub 1 Sub 公式帶引號(hào)的計(jì)算()2 Cells(12, 1) = '=COUNTIF(A1:A10,''>9'')'3 Cells(12, 2) = '=sum(INDIRECT(''a1:a10''))'4 End Sub |
|
來(lái)自: Excel實(shí)用知識(shí) > 《VBA與EXCEL》