日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

vba 自动排序_给VBA字典键值排序,并提取需要的数据

發(fā)布時(shí)間:2024/8/23 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vba 自动排序_给VBA字典键值排序,并提取需要的数据 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

未知的領(lǐng)域很廣、風(fēng)景很美,不要蜷縮在一小塊自認(rèn)為天堂的世界里。待到暮年時(shí)安于自欺欺人,要努力提高自己,學(xué)習(xí)是一件很辛苦的事。要有一顆充滿生機(jī)的心,把握現(xiàn)在,這才是進(jìn)取。機(jī)會(huì)總在等待中出現(xiàn),越是有意義的事情,困難會(huì)越多。愿力決定始終,智慧決定成敗。尋找心靈的平靜;不管遇到什么,都是風(fēng)景。懷善心,做善事。看淡紛爭(zhēng),看輕得失。茶,滿也好,少也好,不要計(jì)較;濃也好,淡也好,其中自有值得品的味道。把浮躁的心靜下來(lái),去感悟真實(shí)的時(shí)間,靜下心,多學(xué)習(xí),積累福報(bào)。保持快樂的心態(tài),堅(jiān)定且執(zhí)著。學(xué)習(xí)有用的知識(shí),經(jīng)營(yíng)自己,而不是天天混日子,也不是天天熬日子。為后疫情時(shí)代做知識(shí)的儲(chǔ)備。在今后更加嚴(yán)峻的存量殘殺世界中,為自己的生存進(jìn)行知識(shí)的儲(chǔ)備,特別是新知識(shí)的儲(chǔ)備。

在取代OFFICE新的辦公軟件沒有到來(lái)之前,誰(shuí)能數(shù)據(jù)處理做到最為極致,誰(shuí)就是王者。其中登峰至極的技能非VBA莫屬!

今日繼續(xù)和大家分享VBA編程中常用的常用“積木”過程代碼。這些內(nèi)容大多是我的經(jīng)驗(yàn)的記錄,來(lái)源于我多年的經(jīng)驗(yàn)。最近代碼多是出自”VBA數(shù)組與字典解決方案”教程,有一些朋友反映分享的內(nèi)容不能很好的理解,可以參考這套資料的內(nèi)容進(jìn)行研讀。今日分享的是第288期。

VBA過程代碼288:利用工作表函數(shù),對(duì)字典的鍵值按大小排序,并給出對(duì)應(yīng)的鍵

Sub MyNZ ()

Dim ran

Sheets("60").Select

Set mydic = CreateObject("Scripting.Dictionary") '字典

TT = Cells(Rows.Count, 1).End(xlUp).Row

For Each ran In Sheets("60").Range("a2:a" & Cells(Rows.Count, 1).End(xlUp).Row)

If ran.Value <> "" Then

If Not mydic.exists(ran.Value) Then

mydic.Add ran.Value, 1 '需要注意此處要加VALUE

Else

mydic(ran.Value) = mydic(ran.Value) + 1

End If

End If

Next

'注意此處把字典的鍵和鍵值取出

K = mydic.keys: T = mydic.items

ReDim X(1 To mydic.Count, 1 To 2)

For i = 1 To mydic.Count

X(i, 1) = Application.Large(K, i) '按最大值的先后將數(shù)據(jù)放到數(shù)組中

X(i, 2) = mydic(X(i, 1)) '提取相應(yīng)的鍵值

Next

MYCOUNT = i - 1

Set mydic = Nothing

Set mydic = CreateObject("Scripting.Dictionary") '字典

For i = 1 To MYCOUNT

mydic(X(i, 1)) = X(i, 2)

Next

K = mydic.keys: T = mydic.items

ReDim X(1 To mydic.Count, 1 To 2)

For i = 1 To mydic.Count

X(i, 2) = Application.Max(T)

'找到鍵的位置

W = Application.Match(X(i, 2), T, 0) - 1

'提取鍵

X(i, 1) = K(W)

'相應(yīng)的鍵值變成空,以用MAX函數(shù)

T(W) = ""

Next

[e:f].Clear

[E1] = "排序": [f1] = "重復(fù)次數(shù)"

Sheets("60").[E2].Resize(mydic.Count, 2) = X

Set mydic = Nothing

End Sub

代碼解析: 上述過程實(shí)現(xiàn)了把數(shù)據(jù)裝入字典mydic,將數(shù)值放入字典的鍵,出現(xiàn)的次數(shù)放入鍵值中,然后把鍵及鍵值分別放入數(shù)組K,T中,注意是一維數(shù)組,然后對(duì)數(shù)值進(jìn)行排序,用了large函數(shù),排序完成后,再次裝入字典,取出鍵和鍵值,此處這么處理的目的是獲取一個(gè)一維數(shù)組,也可以用其他的處理方式,然后對(duì)鍵值進(jìn)行排序,利用的是MAX函數(shù),最后形成了先對(duì)數(shù)值出現(xiàn)次數(shù)的排序后對(duì)數(shù)值進(jìn)行排序的結(jié)果,放到數(shù)組X中,最后回填數(shù)據(jù)。

VBA是利用Office實(shí)現(xiàn)自己小型辦公自動(dòng)化的有效手段.我根據(jù)自己20多年的VBA實(shí)際利用經(jīng)驗(yàn),現(xiàn)在推出了四部VBA學(xué)習(xí)教程,也是我“積木編程”思想的具體體現(xiàn)。

第一:VBA代碼解決方案,是VBA中各個(gè)知識(shí)點(diǎn)的講解,這部教程可以覆蓋絕大多數(shù)的知識(shí)點(diǎn);

第二:VBA數(shù)據(jù)庫(kù)解決方案,是數(shù)據(jù)處理的專業(yè)利器,詳細(xì)的介紹了利用ADO連接ACCDB和EXCEL的方法和實(shí)例操作。

第三:VBA數(shù)組與字典解決方案,講解VBA中的數(shù)組和字典的利用。字典是VBA代碼水平提高的手段,值得深入的學(xué)習(xí)。

第四:VBA代碼解決方案之視頻,是專門面向初學(xué)者的視頻講解,可以快速入門,更快的掌握這門技能。

上述教程的學(xué)習(xí)順序,1,3,2或者是4,3,2逐漸深入的了解VBA掌握VBA.目前正在集中精力寫第五部教程:VBA中類的解讀和利用,希望在年內(nèi)能陸續(xù)在各個(gè)平臺(tái)和大家見面。

利用VBA實(shí)現(xiàn)個(gè)人辦公小型自動(dòng)化非常值得學(xué)習(xí),希望大家掌握這個(gè)工具,利用這個(gè)工具,讓自己輕松,高效,快樂的工作。我的“積木編程”思想也是值得大家借鑒的,這種思想讓大家在代碼中解脫出來(lái),成模塊的構(gòu)建自己的應(yīng)用,提高自己的編程效率。根據(jù)我提供的經(jīng)驗(yàn),利用時(shí)間多學(xué)習(xí)。

總結(jié)

以上是生活随笔為你收集整理的vba 自动排序_给VBA字典键值排序,并提取需要的数据的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。