VBA·字典

VBA字典有6個方法,4個屬性

  • Add

  • Keys

  • Items

  • Exists

  • Remove

  • RemoveAll

————————————

  • Count

  • Key

  • Item

  • CompareMode

  • 方法

Sub dict()nn 字典的創建方法n Dim dn n 創建字典 並且賦值要用 setn Set d = CreateObject("Scripting.Dictionary")n n 1.Addn d.Add "a", "Athens"n d.Add "b", "Belgrade"n d.Add "c", "Cairo"n 輸出 Athens 注意字典數據的訪問n Debug.Print (d("a"))n n n 2.Existsn n 存在則返回true 輸出truen Debug.Print (d.Exists("b"))n n n 3.Keysn 輸出2 其實是3個數字n Debug.Print (UBound(d.keys()))n n n 額外的說明n [B1].Resize(d.Count, 1) = Application.Transpose(k)n Resize是Range對象的一個屬性,用於調整區域的大小,第一個是行數,第二個是列數,這樣就把B1調整為了B1:B3三個單元格了n 右邊本來是一個行,現在轉換為列,這樣就可以賦值給左側了n Transpose不是VBA的函數,所以要用Application對象的WorksheetFunction屬性,不過n WorkSheetFunction屬性可省略n n n 4.Itemsn 輸出2 其實也是3個數字n Debug.Print (UBound(d.items()))n n n n 5.Removen d.Remove ("b")n 輸出1n Debug.Print (UBound(d.items()))n n n n 6.RemoveAlln 清除所有n d.RemoveAlln 輸出-1 因為0也是表示有一個數字的n Debug.Print (UBound(d.items()))n nEnd Subn

  • 屬性

Sub dict()nn 字典的創建方法n Dim dn n 創建字典 並且賦值要用 setn Set d = CreateObject("Scripting.Dictionary")n n 1.Addn d.Add "a", "Athens"n d.Add "b", "Belgrade"n d.Add "c", "Cairo"n n 7.Countn 輸出3 也就只含3個詞n Debug.Print (d.Count)n n n 8.Keyn 替換關鍵詞n d.Key("c") = "d"n 輸出Cairon Debug.Print (d("d"))n n n 9.Item 沒什麼用n n n 10.CompareModen d.CompareMode = 0(二進位)/1(文本)/2(資料庫)n n nEnd Subn

推薦閱讀:

TAG:VBA | MicrosoftExcel | Excel技巧 |