看板 Office 關於我們 聯絡資訊
軟體:excel 版本:2007以上 要將某陣列移除重複並且寫入工作表內 我找了個巨集 Sub EX() Dim AR, D As Object, E As Variant Dim i As Integer AR = Array("XX", "aa", "ab", "ab", "ab", "XX", "ab", "ab", "XX", "YY") Set D = CreateObject("SCRIPTING.DICTIONARY") '字典物件 For Each E In AR For i = 1 To 10 D(E) = "" Range("A" & i) = D.KEYs i = i + 1 Next i Next AR = D.KEYs MsgBox Join(AR, vbLf) End Sub 但是寫入儲存格都只有留下XX... 不知道是哪邊邏輯思考錯誤了 另外要怎麼自動判斷i要設定多少(就是陣列有多少個) 感謝各位大大指點 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.137.217.25 ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1491010527.A.22D.html ※ 編輯: ptguitar (223.137.217.25), 04/01/2017 09:37:05
soyoso: 如要判斷陣列中元素總數的話可以ubound 04/01 10:34
soyoso: 巨集for next counter為變數i,而迴圈內變數i累加,這樣進 04/01 10:39
soyoso: 入該迴圈時會以1,3,5,7,9的值帶入到range("a"&i)內 04/01 10:40
soyoso: 如要帶入唯一值,可於for each..next內只留d(e)="" 04/01 10:42
soyoso: 於執行迴圈後以d.count來取得d的元素總數 04/01 10:44
soyoso: 以range.resize(d.count)=worksheetfunction.transpose 04/01 10:45
soyoso: (d.keys)方式寫入到儲存格內 04/01 10:46
ptguitar: 感謝S大 有點複雜來研究看看 04/03 11:41