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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

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

VBA過程代碼288:利用工作表函數,對字典的鍵值按大小排序,并給出對應的鍵

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) '按最大值的先后將數據放到數組中

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

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)

'相應的鍵值變成空,以用MAX函數

T(W) = ""

Next

[e:f].Clear

[E1] = "排序": [f1] = "重復次數"

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

Set mydic = Nothing

End Sub

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

VBA是利用Office實現自己小型辦公自動化的有效手段.我根據自己20多年的VBA實際利用經驗,現在推出了四部VBA學習教程,也是我“積木編程”思想的具體體現。

第一:VBA代碼解決方案,是VBA中各個知識點的講解,這部教程可以覆蓋絕大多數的知識點;

第二:VBA數據庫解決方案,是數據處理的專業利器,詳細的介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作。

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

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

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

利用VBA實現個人辦公小型自動化非常值得學習,希望大家掌握這個工具,利用這個工具,讓自己輕松,高效,快樂的工作。我的“積木編程”思想也是值得大家借鑒的,這種思想讓大家在代碼中解脫出來,成模塊的構建自己的應用,提高自己的編程效率。根據我提供的經驗,利用時間多學習。

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。