看板 Office 關於我們 聯絡資訊
※ 引述《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
soyoso: 迴圈,range.find、range.findnext來尋找範圍區間 02/28 21:59
soyoso: 最後一個區間則判斷當尋找到的儲存格為第一次找到的 02/28 21:59
soyoso: range.address時則以最後一筆有值的儲存格 02/28 22:00
soyoso: 有起迄區間儲存格,可配合evaluate來使用原工作表內 02/28 22:00
soyoso: 所寫的陣列公式,儲存格置換為上述起迄區間儲存格位置字 02/28 22:00
soyoso: 串以range.address,連接符號以& 02/28 22:00
soyoso: 儲存格偏移上以range.offset 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
soyoso: https://i.imgur.com/8ikpZqk.jpg 類似這樣 03/10 20:23
soyoso: 或range以address來取得位置字串 03/10 20:29
soyoso: https://i.imgur.com/nLBDXn9.jpg 03/10 20:29
大大,因要判斷的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
soyoso: 不等於""於字串內為""""表示,回文內會是"<>""""" 03/11 13:23
soyoso: 另外不帶入變數,"<>...countif(t"中間不需要用&來連接 03/11 13:26
大大是這樣嗎? https://imgur.com/a/P8TlH 不知道哪裡串接錯誤了Q.Q ※ 編輯: tina1688 (1.160.76.45), 03/11/2018 20:31:35
soyoso: """""改為"""" 03/11 20:36
大大拍謝,測試後這次變成#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
soyoso: < >改為<> 03/11 23:32