標題:
[發問]
函數使用VBA寫法
[打印本頁]
作者:
li_hsien
時間:
2015-1-13 14:09
標題:
函數使用VBA寫法
請問各位大大
最近需要計算項目個數
因為2003沒有移除重複,使用移除重複可能會有相容性的問題
GOOGLE查詢到計算項目個數的方法如下(不過我看不懂這邏輯為何@@)
=SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))
複製代碼
EX:
A
456
123
123
789
123
789
456
000
123
000
使用以上方法可得到4
但因為我想使用在VBA語法中
修正如下
Application.SUMPRODUCT(1/Application.COUNTIF(range("A1:A10"),range("A1:A10")))
複製代碼
但是會出現型態不符
不知該如何修正,才能使用在VBA中
P.S. 我不想用FormulaR1C1錄製巨集出來的方式
煩請各位解惑
謝謝!!!
作者:
diolin
時間:
2015-1-21 08:46
用 Evaluate
Application.Evaluate("SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))")
作者:
電暖爐
時間:
2015-1-22 00:23
worksheetfunction.SUMPRODUCT
作者:
diolin
時間:
2015-1-22 09:44
回復
3#
電暖爐
樓主用的是陣列公式, 所以用 worksheetfunction 不適用
作者:
li_hsien
時間:
2015-1-22 13:19
回復
4#
diolin
感謝diolin及電暖爐的協助
第一次知道Evaluate及Worksheetfunction的作法
能否勞煩大大簡要說明一下這兩者的用途呢???
謝謝!!!
作者:
diolin
時間:
2015-1-22 18:07
回復
5#
li_hsien
worksheetfunction 顧名思義, 就是工作表的函數, 也就是平常在寫的公式, 大部份都可以用
你用 application.函數 其實也可以, 但用worksheetfunction 會更直覺
Evaluate 就是把運算後面的東西, 你可以想成就像寫在 cell 裡一樣
作者:
li_hsien
時間:
2015-1-23 10:13
回復
6#
diolin
又多學到了一點東西了!!!
我再試試
感謝diolin指教
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)