Board logo

標題: [發問] 請教函數countA如何改用VBA來計算多工作表(感謝) [打印本頁]

作者: koo    時間: 2014-11-23 10:13     標題: 請教函數countA如何改用VBA來計算多工作表(感謝)

=COUNTA('Sheet2:Sheet6'!A1)
請教以上程序如何用VBA來寫...感謝您的回答
作者: PKKO    時間: 2014-11-23 12:01

回復 1# koo
小弟不才,應該有更快的方法,這邊提供您我會的方式
有其他大大也可提出,小弟加以學習
  1. Sub test()

  2.     For i = 2 To 6
  3.         Num = WorksheetFunction.CountA(Sheets(i).Range("A1"))
  4.         Total = Num + Total
  5.     Next
  6.     MsgBox Total
  7.    
  8. End Sub
複製代碼

作者: GBKEE    時間: 2014-11-23 12:48

回復 2# PKKO
  1.    MsgBox [COUNTA(Sheet2:Sheet6!A1)]
複製代碼

作者: PKKO    時間: 2014-11-23 13:14

回復 3# GBKEE


    MsgBox [COUNTA(Sheet2:Sheet6!A1)]
感謝超版指教,好特別的語法,但小弟試了一下,我把分頁的A1都刪除了,結果還是1,填滿也是1?
作者: koo    時間: 2014-11-23 13:31

回復  koo
小弟不才,應該有更快的方法,這邊提供您我會的方式
有其他大大也可提出,小弟加以學習
PKKO 發表於 2014-11-23 12:01



感謝大大問題已解
原來是錯在一直用k=k+1

Sub test()

For i = 1 To 20
For j = 1 To 20

    For h = 2 To Sheets.Count
        Num = WorksheetFunction.CountA(Sheets(h).Cells(i, j))
        k = k + Num
    Next h
    Cells(i, j) = k
    k = 0
Next j
Next i

End Sub
作者: koo    時間: 2014-11-23 13:33

回復  PKKO
GBKEE 發表於 2014-11-23 12:48



報告大大:
結果都是顯示1
Sub test()
Cells(1, 1) = [COUNTA(Sheet2:Sheet4!A1)]
End Sub
作者: GBKEE    時間: 2014-11-23 15:34

回復 6# koo

**結果都是顯示1**

Sheet2:Sheet4 指活頁簿上連續相鄰在一起的工作表
檢查看看如 Sheet2:Sheet4  -> Sheet2,Sheet5,Sheet6,Sheet3,Sheet4
作者: ashan0418    時間: 2014-12-5 10:19

回復 7# GBKEE


大大您的意思我已瞭解了,那請問一下為何要在前後加上 [ ] 呢??
作者: GBKEE    時間: 2014-12-5 15:44

回復 8# ashan0418
[ 活頁簿的名稱,函數,公式 ] 傳回值
可參考 http://forum.twbts.com/thread-12953-1-1.html 中的 Application.Evaluate(活頁簿的名稱,函數,公式)
作者: ashan0418    時間: 2014-12-5 17:41

回復 9# GBKEE


    感謝大大的指導!!
作者: afu9240    時間: 2019-6-10 10:20

回復 10# ashan0418


    大大 您好

          想跟您請教一下如果要用COUNTA  計算range("k2:k200")內的加總數量 語法要怎麻寫呢~~




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