Dim ar, I, j, str,定義若幹個變量
Dim d As Object,定義壹個字典對象
Set d = CreateObject("Scripting.Dictionary"),設立壹個字典為d
ar = Range([a2], [a65536].End(3)),定義ar這個數組,其元素從A2起至A列最下面壹個元素
For I = 1 To UBound(ar),從1到ar數組的上限循環,也就是遍歷A2:A列最下壹個單元格判斷
str = Split(ar(I, 1), "、"),將每個單元格的內容按照頓號拆分成壹個小數組
For j = 0 To UBound(str),循環每個小數組中的元素
d(str(j)) = d(str(j)) + 1,如果這個數組中的元素重復過,字典計次數加1,關鍵字只添加壹次。比如說A2是“***、和、和”那麽最終字典返回:***,1次,和,2次。類似這樣。如果A3中也包含壹個“和”字,那麽就會返回:和,3次這樣。就達到了將A列中每個單元格中用、分隔的字符串不重復列舉,並記錄其出現次數的目的。
Next
Next
[b1].Resize(d.Count) = Application.Transpose(d.keys)將剛才生成的關鍵字,如“***”、“和”等不重復輸出
[c1].Resize(d.Count) = Application.Transpose(d.items),將“***”、“和”等出現的次數放在C列,對應B列出現的關鍵字
End Sub
這個代碼的意思應該是:A列中某些單元格用頓號分隔了壹些字符,統計頓號分隔字符串的不重復值並輸出其重復的次數。