返回列表 上一主題 發帖

[發問] 函數使用VBA寫法

[發問] 函數使用VBA寫法

請問各位大大

最近需要計算項目個數

因為2003沒有移除重複,使用移除重複可能會有相容性的問題

GOOGLE查詢到計算項目個數的方法如下(不過我看不懂這邏輯為何@@)
  1. =SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))
複製代碼
EX:
        A
       456
       123
       123
       789
       123
       789
       456
       000
       123
       000
使用以上方法可得到4


但因為我想使用在VBA語法中

修正如下
  1. Application.SUMPRODUCT(1/Application.COUNTIF(range("A1:A10"),range("A1:A10")))
複製代碼
但是會出現型態不符

不知該如何修正,才能使用在VBA中

P.S. 我不想用FormulaR1C1錄製巨集出來的方式

煩請各位解惑

謝謝!!!
用功到世界末日那一天~~~

回復 6# diolin

又多學到了一點東西了!!!

我再試試

感謝diolin指教
用功到世界末日那一天~~~

TOP

回復 5# li_hsien

worksheetfunction 顧名思義, 就是工作表的函數, 也就是平常在寫的公式, 大部份都可以用
你用 application.函數 其實也可以, 但用worksheetfunction 會更直覺

Evaluate 就是把運算後面的東西, 你可以想成就像寫在 cell 裡一樣

TOP

回復 4# diolin

感謝diolin及電暖爐的協助

第一次知道Evaluate及Worksheetfunction的作法

能否勞煩大大簡要說明一下這兩者的用途呢???

謝謝!!!
用功到世界末日那一天~~~

TOP

回復 3# 電暖爐

樓主用的是陣列公式, 所以用 worksheetfunction 不適用

TOP

worksheetfunction.SUMPRODUCT

TOP

用 Evaluate

Application.Evaluate("SUMPRODUCT(1/COUNTIF(A1:A10,A1:A10))")

TOP

        靜思自在 : 為人處世要小心細心,但不要「小心眼」。
返回列表 上一主題