返回列表 上一主題 發帖

[發問]countif的使用[已解決]

[發問]countif的使用[已解決]

本帖最後由 asus103 於 2011-1-11 19:21 編輯

對不起!!!!!!
問一個很簡單的問題
sheet2的E欄是性別
為何下列式子無法統計男生總數
With Sheets("sheet2")
     fb = WorksheetFunction.CountIf(.Cells(, 5), "=男")
End With
ASUS

Application.CountIf(.Columns(5), "男")
學海無涯_不恥下問

TOP

回復 2# Hsieh
感謝Hsieh大大
WorksheetFunction.CountIf(.Cells(, 5), "=男")
Application.CountIf(.Columns(5), "男")
思考過這兩行的差別,如果我做這樣的推論可以嗎?
1.  .Cells(, 5) 是代表第5欄中的某一格而非第5欄全部,若要看全部須配合迴圈
2. Application.等同WorksheetFunction.(因為說明中只有WorksheetFunction.CountIf這種用法)代表EXCEL工作表函數
    如果是VB、VBA的函數則可直接引用。

抱歉!!我一直分不清Application.等同WorksheetFunction.的關係,
在您的程式中,很少看到WorksheetFunction,時常看到Application,
但VBA說明中卻相反

感謝您的古道熱腸
ASUS

TOP

回復 3# asus103


    若要使用迴圈那就
if .cells(i,5)="男" then k=k+1
這樣去跑迴圈加總

application.工作表函數=worksheetfunction.工作表函數
這倒不盡然如此,我曾經試過transpose使用這2種不同寫法,但結果卻不同
原因為何?並未深入探究
只是一般來說都能用上
只是偷懶的寫法,不論如何,能達到目的的方法,就別太計較了
學海無涯_不恥下問

TOP

感謝您
我又多上了一課
ASUS

TOP

        靜思自在 : 屋寬不如心寬。
返回列表 上一主題