小弟需要以 vba 方法點算在儲存格中出現的數目。
資料類型:文字串
例子如下:
儲存格I2: 釘書機, 印表機, 報事貼, 快勞
儲存格I3: 快勞, 報事貼, 碎紙機
儲存格I4: 界紙器, 碎紙機, 快勞
在excel中可以用以下formula點算:
=COUNTIF(I:I,"*"&N1&"*")
在N1可填入所需要的資料,如"快勞",就可得出結果3.
但在vba寫程式時遇到困難... 小弟寫的程式如下... 不知如何可達到上述效果? 想請各位大大指教一下.......
Method 1:
Sub StatisticRpt
Dim StatRpt As String '統計目標
Dim CounterString As Long '統計用counter
Worksheets("Sheet1").Cells(1, 1).Value = "Statistic Report" 'A1格輸入Statistic Report
Worksheets("Sheet1").Cells(2, 1).Value = "數點「" & StatRpt & "」 的數目"
CounterString = 0
If InStr(1, Worksheets("Sheet1").Range("I:I"), StatRpt)
Then CounterString = CounterString + 1
End If
Worksheets("Sheet1").Cells(2, 2).Value = CounterString
End Sub
Method 2:
也嘗試過用worksheetfunction.countif 也失敗了.....
Worksheets("Sheet1").Cells(2,2).Value = worksheetfunction.countif("I:I",*&StatRpt&*)