返回列表 上一主題 發帖

COUNTA 或某些函數在VBA上使用的疑問

回復 10# hugh0620
Sub Ex()
Dim W%
W=10
Sheet1.Cells(4, 2) = Application.CountA(Sheet1.Range("A" & W & ":A65536"))
End Sub

TOP

若單純要利用 Excel 的函數也可以用 WorksheetFunction.CountA 的方式哦~~

TOP

回復 2# Hsieh
請問一下版主大大
為什麼是用Application.CountA(Sheet2.[A7:A65536])
而不是用WorksheetFunction.CountA(Sheet2.[A7:A65536])
我在說明中只有看到下者
他們(Application和WorksheetFunction)之間都可以通用嗎?
還是有其它的限制
ASUS

TOP

我也學到了,謝謝.

TOP

學海無涯_不恥下問

TOP

回復 13# asus103


    這是大大貼的網址~ 怕有人找不到那段解釋的文字~ 特地貼出來~

1. 注意 Match 是工作表函數的成員而不是VBA內建函數,所以需指明上層物件。
WorksheetFunction 的標準寫法是 Application.WorksheetFunction。

2. 注意你的程式位於一般模組還是物件模組。
一般模組:
在一般模組 (就是 Module1、Module2.. 那些) 裡是可以省略 Application 的。
(省略 Application 就不能省略 WorksheetFunction,意思就是不能只寫函數名稱)
物件模組:
但在物件模組裡就不能省略 Application 了,
因為物件模組預設的物件是該物件本身,
例如 Worksheet 模組的預設物件是 Worksheet;
UserForm 模組的預設物件就是 UserForm。由此可知,
若在 UserForm1 模組寫 WorksheetFunction (省略了 Application),
VBA 會視為 UserForm1.WorksheetFunction,結果就會出錯了。
學習才能提升自己

TOP

        靜思自在 : 有多少力量就做多少事,不要心存等待,等待才會落空。
返回列表 上一主題