Board logo

標題: [發問]countif的使用[已解決] [打印本頁]

作者: asus103    時間: 2011-1-11 17:26     標題: [發問]countif的使用[已解決]

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

對不起!!!!!!
問一個很簡單的問題
sheet2的E欄是性別
為何下列式子無法統計男生總數
With Sheets("sheet2")
     fb = WorksheetFunction.CountIf(.Cells(, 5), "=男")
End With
作者: Hsieh    時間: 2011-1-11 17:46

Application.CountIf(.Columns(5), "男")
作者: asus103    時間: 2011-1-11 19:05

回復 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說明中卻相反

感謝您的古道熱腸
作者: Hsieh    時間: 2011-1-11 19:14

回復 3# asus103


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

application.工作表函數=worksheetfunction.工作表函數
這倒不盡然如此,我曾經試過transpose使用這2種不同寫法,但結果卻不同
原因為何?並未深入探究
只是一般來說都能用上
只是偷懶的寫法,不論如何,能達到目的的方法,就別太計較了
作者: asus103    時間: 2011-1-11 19:20

感謝您
我又多上了一課




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)