返回列表 上一主題 發帖

[發問] 如何在現有的程式碼加入countif

回復 1# j88141


    =COUNTIF(G6,"*")+COUNTIF(G8,"*")+COUNTIF(G10,"*")+COUNTIF(G12,"*")
你知道這樣公式算出甚麼嗎?
學海無涯_不恥下問

TOP

本帖最後由 Hsieh 於 2014-3-18 09:36 編輯

回復 3# j88141
B欄如果是要用公式取得數值
那麼針對B欄的變動不是觸發Worksheet_Change程序
而是觸發Worksheet_Calculate程序
如果以目前要驅動的Worksheet_Change事件原本是B欄
當你B欄變成公式,這公式參照的儲存格才是驅動事件的儲存格
反而是G6,G8,G10,G12,E6,E8,E10,E12才是驅動事件的必要儲存格
就將原來If Intersect(myRange, [B1:B10]) Is Nothing Then Exit Sub
改成
If Intersect(myRange, [G6,G8,G10,G12,E6,E8,E10,E12]) Is Nothing Then Exit Sub
順便一提B8公式
=COUNTA(G6,G8,G10,G12)
即可計算範圍內非空白儲存格數量
學海無涯_不恥下問

TOP

回復 6# j88141

Worksheet_Change是針對該工作表變動,跨工作表就必須將程式碼放在變動的工作表模組
但如此一來當你在過程中要計算其他工作表儲存格時,就要指明工作表。
學海無涯_不恥下問

TOP

回復 8# j88141


檔案1.rar (15.23 KB)
學海無涯_不恥下問

TOP

        靜思自在 : 人要自愛,才能愛普天下的人。
返回列表 上一主題