Re: [算表] 陣列函數寫成VBA
※ 引述《tina1688 ()》之銘言:
各位 大大
想計算 範圍內的 不重複文字的 個數
但不知如何轉寫成VBA,有大大可以解惑嗎? 謝謝喔~
示意圖
https://imgur.com/a/LZh4J
檔案連結
https://goo.gl/9Zp6mq
--
Sent from my Windows
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.194.200.173
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1519823881.A.8CC.html
→
02/28 21:59,
02/28 21:59
→
02/28 21:59,
02/28 21:59
→
02/28 22:00,
02/28 22:00
→
02/28 22:00,
02/28 22:00
→
02/28 22:00,
02/28 22:00
→
02/28 22:00,
02/28 22:00
→
02/28 22:00,
02/28 22:00
大大,研究一下後
用evaluate來輸入陣列函數,程式碼如下
但是執行顯示型態不符QQ
我已經找到區間範圍,剩下把陣列公式值丟到儲存格就好了
我要把=SUM(1/COUNTIF(範圍)) ,丟進去。再麻煩大大解惑
ActiveSheet.Range("V" & kkk + 1).Value = Application.Evaluate("=SUM("
& "1/COUNTIF(" & ActiveCell.Range("T" & kkk & ":U" & kkk + ADress_Row) & "))")
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.160.76.45
※ 文章網址: https://www.ptt.cc/bbs/Office/M.1520683356.A.B8B.html
→
03/10 20:23,
8年前
, 1F
03/10 20:23, 1F

→
03/10 20:29,
8年前
, 2F
03/10 20:29, 2F
→
03/10 20:29,
8年前
, 3F
03/10 20:29, 3F

大大,因要判斷的Range有空格會顯示錯誤
故丟進去函數變成=SUM(IF(T2:U5<>"",1/COUNTIF(T2:U5,T2:U5)))
但顯示#value, 不知道是甚麼問題@@ 拜託大大解惑,謝謝
ActiveSheet.Range("V" & kkk).Value = Application.Evaluate
("=SUM(If(T" & kkk & ":U" & ADress_Row & "<>""" & "," & "1/COUNTIF
(T" & kkk & ":U" & ADress_Row & "," &
"T" & kkk & ":U" & ADress_Row & ")))")
※ 編輯: tina1688 (1.160.76.45), 03/11/2018 13:10:33
→
03/11 13:23,
8年前
, 4F
03/11 13:23, 4F
→
03/11 13:26,
8年前
, 5F
03/11 13:26, 5F
→
03/11 20:36,
8年前
, 6F
03/11 20:36, 6F
大大拍謝,測試後這次變成#VALUE @@
檔案:http://t.cn/REDUFew
Sub test()
Dim kkk As Integer
Dim ADress_Row As Integer
kkk = 2
ADress_Row = 5
ActiveSheet.Range("V" & kkk).Value = Application.Evaluate _
("=SUM(If(T" & kkk & ":U" & ADress_Row & "< >"""",1/COUNTIF _
(T" & kkk & ":U" & ADress_Row & "," &
"T" & kkk & ":U" & ADress_Row & ")))")
End Sub
※ 編輯: tina1688 (123.194.200.173), 03/11/2018 23:24:22
→
03/11 23:32,
8年前
, 7F
03/11 23:32, 7F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
0
7
Office 近期熱門文章
PTT數位生活區 即時熱門文章