看板 Office 關於我們 聯絡資訊
軟體:excel vba 版本:2010 (以下文字是在手機上輸入的,排版不佳請見諒。) 版上各位大大好,以下我想評估a陣列中字串元素的唯一值(首次出現位置)並計算出現次 數,如果是在儲存格中我都習慣使用frequency(match(a,a,0),match(a,a,0)),但是在VB A中我嘗試以evaluate來評估結果卻失敗。 ꀊ 想請問一下我這樣的寫法有何錯誤?迌S或要取得陣列唯一值有何其他作法?é臏癒C ꀊ Sub test() ꂠꀠDim a, b ꂠꀠDim d, i& ꂠꀠDim ary(10) ꂠꀊ ꂠꂠa = Array("A", "B", "A", "B", "B", "C", "B", "C", "D", "B") ꂠꀠb = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) ꂠꀊ ꂠꂠd = UBound(a) ꂠꀊ ꂠꂠFor i = 0 To d ꂠꂠꂠꀠary(i) = Evaluate("frequency(match(""" & a(i) & """,{""" & Join(a, """ ,""") & """},0),match(""" & a(i) & """,{""" & Join(a, """,""") & """},0))") ꂠꀠNextꂠꂠꂠ End Sub -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.139.77.115 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1456909661.A.78E.html
soyoso: 可用instr和split https://i.imgur.com/4EhEOx4 03/02 18:39
potawei: val = "C" '找C 03/02 20:25
potawei: pos = Application.Match(val, A, False) 'C首次位置 03/02 20:25
potawei: pos = Application.Match(val, a, False) '小寫a 03/02 20:26
potawei: 計算出現次數 Scripting.Dictionary 03/02 20:48
potawei: https://goo.gl/7V8MYr 03/02 20:53
soyoso: createobject("scripting.dictionary")可以取得唯一值 03/02 20:56
soyoso: 為何又要計算出現次數呢? 03/02 20:56
soyoso: 抱歉原文,原po有寫到要計算出現次數 03/02 20:59
soyoso: 修改instr方式計數 https://i.imgur.com/fgSDUL1 03/02 21:29
soyoso: 也可為 https://i.imgur.com/U9tCsAQ 03/02 23:21
nazomegami: 謝謝樓上版友,已測試ok 03/03 12:19