當前位置:成語大全網 - 新華字典 - VBA程序。想知道A列名字壹樣,B列數據出現次數最多的數據,只保留B列出現次數最多的,組成壹個新表

VBA程序。想知道A列名字壹樣,B列數據出現次數最多的數據,只保留B列出現次數最多的,組成壹個新表

取出現次數最多的數據比較麻煩,但是有辦法實現:掃描全表壹次,使用字典對象記錄所有數據出現的次數,代碼框架:

Set?db=CreateObject("Scripting.Dictionary")

aarr=Range("A1").CurrentRegion

for?i=1?to?Ubound(arr)

k=arr(i,1)

v=arr(i,2)

if?not?db.Exists(k)?then?db.add?k,?CreateObject("Scripting.Dictionary")

db(k)(v)=db(k)(v)+1

next?i

程序執行後db("張")的數據為{2->2,4->1}

顯示這些數據到套路如下:

i=2?'輸出行

j=10'輸出列

for?each?k?in?db.keys

cells(i,j)=k

x=0

for?each?v?in?db(k).keys

if?db(k)(v)>x?then

x=db(k)(v)

y=v'至少執行壹次,x初始為0

end?if

next?v

cells(i,j+1)=y

i=i+1'下壹行

next?k