什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

Hello,大家好,在前面我們說過ExceL中間的陣列使用方法,今天要給大家簡單說下VBA字典的使用方法和優點。相信你看到具體的例項了,就會發現原來陣列+字典這麼厲害的。現在一起來看看吧!

對VBA有興趣的,可以點選專欄進行檢視和學習,Thanks♪(・ω・)ノ!

那麼有些同學就會問,什麼是字典?

可以這麼理解,我們在小學的時候肯定都使用過新華字典、英漢詞典等等,透過字典,我們可以很方便的透過查詢某個關鍵字,進而查到這個關鍵字的種種解釋,非常快捷實用的一個工具庫。這樣就可以理解了吧!

VBA字典的構成是什麼?

VBA字典物件其實只有4個屬性和6個方法,這個的使用方法很簡單,並且十分容易理解使用方便,加上功能強大,執行速度非常快,效率極高等等優點,深受我們的喜歡。具體介紹解釋如下,有興趣的小夥伴可以看看。

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

VBA的字典在哪裡?我們怎麼來使用它?

字典物件不是Excel程式直接自帶的,它是呼叫WIN系統自帶的,他的儲存位置在“c:\windows\system32\scrrun。dll”連結庫中,所以如果我們要想用它,要先呼叫它。使用它有2種方法,分別是前期繫結和後期繫結,當然他們效果是一樣的,只是在細節上稍許有些不同。

PS:前期繫結和後期繫結的使用方法如下:

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

字典物件的方法有6個:Add方法、Keys方法、Items方法、Exists方法、Remove方法、RemoveAll方法。如下所示:

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

字典的4個屬性, Count屬性、Key屬性、Item屬性、CompareMode屬性。

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

說了這麼多,VBA字典就6個使用方法+4個屬性,使用起來你就會發現妙用無窮。現在先舉幾個簡單的例子,讓你加深理解吧!

求不重複值問題

如下的表格A列中間有很多數值是重複的,要求編寫一段程式碼,把不重複的人員姓名提取出來放置C列,程式碼就是利用了字典的唯一性,字典的第一列和陣列的標是一個的 ,都必須是唯一的

。這個是我們最常用取得不重複值的一個方法。

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

測試字典和陣列的執行效率

源資料在A列,資料一共有2W行,我們分別使用字典和資料取得唯一值,取出來,然後放在C列,計算他們的耗費時間,可以看出字典的執行速度是陣列的1000倍以上。

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

當然陣列+字典還有很多其他的應用,比如雙向查詢、多條件查詢、單條件求和、多條件求和、多列求和、字典法排序等等非常多的使用價值,我們會在下期會其他的使用方法。

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

字典基本概念和簡單的使用方法例項到此告一段落了。其實說到底字典就是一個二維陣列Arr(1 to n,1 to 2),和陣列不同的是它的第2維的最大上界為2,相當於2列單元格,第1列存放的是關鍵字,這個關鍵字是除了陣列以外的任何型別;第2列存放的是這個關鍵字對應的項,它可以是資料的任何型別或者為空。

怎麼樣,小夥伴們,您瞭解Excel VBA字典的基本概念和常用的使用方法了嗎?相信你如果能夠熟知上面的知識點,那麼你對字典就能夠入門了,有不懂的,有疑問的,可以下面進行留言。

我是Excel教案,關注我持續分享更多的Excel技巧!

什麼是字典?我們為什麼要學它?別擔心,你只需1分鐘就可學會

如果小夥伴還有其他的想知道或者想了解的,都可以直接先關注我然後在私信我,告訴我們您想知道什麼,或者想了解什麼,我們會根據你的需要進行擴充套件的,謝謝大家的支援!