No.1字典應用是一個十分高效的方法,可以成對資料處理,像一把利器,各種應用能力體現。下面重點介紹創建和應用字典的方法。創建字典很簡單隻需要一行程式碼,如下所示:Set dic = Cr
2021-07-24 03:09:05
字典應用是一個十分高效的方法,可以成對資料處理,像一把利器,各種應用能力體現。
下面重點介紹創建和應用字典的方法。
創建字典很簡單隻需要一行程式碼,如下所示:
Set dic = CreateObject("Scripting.Dictionary")
沒技巧可言,記住就行了。
需要了解一下字典的幾個屬性和方法,如下圖所示:
下面用一個例項來,具體進行演示一下,如何進行字典應用。
示例:
本示例分別把兩列賦值給一個字典物件,然後將字典值新增到ListBox列表框中,按鈕可實現新增字典、刪除字典和刪除字典值的功能,實現過程如下。
新建字典程式碼:
Public dic As Object
Private Sub CommandButton1_Click()
Dim arr1, arr2, i As Integer
arr1 = ActiveSheet.Range("B3:B12")
arr2 = ActiveSheet.Range("C3:C12")
Set dic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(arr1) - 1
dic.Add arr1(i, 1), arr2(i, 1)
Next i
Me.ListBox1.Clear
For i = 1 To dic.Count
With Me.ListBox1
.AddItem
.List(i - 1, 0) = arr1(i, 1) '
.List(i - 1, 1) = dic.Item(i)
End With
Next i
'MsgBox Join(dic.items)
'MsgBox Join(dic.keys)
End Sub
刪除字典
Private Sub CommandButton2_Click()
If Not VBA.IsObject(dic) Then Exit Sub
If dic Is Nothing Then Exit Sub
dic.RemoveAll
Me.ListBox1.Clear
MsgBox "字典已經刪除!"
End Sub
刪除單項字典值
Private Sub CommandButton3_Click()
Dim dStr As String
If Not VBA.IsObject(dic) Then Exit Sub
If dic Is Nothing Then Exit Sub
If Me.ListBox1.ListIndex < 0 Then Exit Sub
If Me.ListBox1.Value = Null Then Exit Sub
If dic.exists(VBA.CInt(Me.ListBox1.Value)) Then '如果存在鍵
dStr = dic.Item(VBA.CInt(Me.ListBox1.Value))
dic.Remove VBA.CInt(Me.ListBox1.Value)
Me.ListBox1.RemoveItem (Me.ListBox1.ListIndex)
MsgBox "你已經刪除" & dStr, vbInformation, "提示"
End If
End Sub
程式碼相對複雜,主要是對一些可能是錯誤進行了判斷篩選,不做過多討論。
重點說一下字典的幾個方法:
新增鍵和值: Add key,item
刪除字典:RemoveAll
刪除某個鍵值:Remove key
搜尋鍵是否存在:exists
返回Key陣列:Keys
返回Item陣列:Items
返回字典數:Count
返回或設定Item:Item(Key)=[newItem]
設定Key:Key(key)=NewKey
對照程式進行檢視,使用方法,可進一步掌握字典方法和屬性分別代表的內容。
總之,字典是成雙成對的出現,一個Key對應著一個Item值,如果Key沒有了,也就沒有值了。可以理解為量子糾纏的理論一樣,一一對應,不可以分開。
歡迎關注、收藏
END
相關文章
No.1字典應用是一個十分高效的方法,可以成對資料處理,像一把利器,各種應用能力體現。下面重點介紹創建和應用字典的方法。創建字典很簡單隻需要一行程式碼,如下所示:Set dic = Cr
2021-07-24 03:09:05
7月23日,使用者期待已久的vivo S10系列於0點正式發售,京東同步開售。截至下午4點,vivo S10系列仍保持著京東平臺當天安卓手機銷量&銷售額雙冠軍。值得注意的是,在vivo S10系列開
2021-07-24 03:08:54
電商所謂營銷,歸根結底都是訂單金額的變化;如果我們清楚的知道訂單金額的計算流程是怎樣的,那麼我們只需要順著系統的計算流程做促銷,就不用擔心各種促銷類型之間產生重疊或者衝
2021-07-24 03:08:38
近日,知名資料機構每日互動公佈了2021年第二季度5G手機銷量資料,從榜單資料來看,在5G手機銷量前十名中,小米手機竟然全軍覆沒。要知道,在今年上半年,小米釋出了多款高性價比的5G手
2021-07-24 03:08:24
眾所周知,目前的主流晶片都是矽基晶片,佔所有晶片的90%以上。不過科學家們也在研究採用其它非矽基材料的晶片,比如碳基晶片等。還有第三代半導體材料,也都不是矽基晶片,比如GaN、
2021-07-24 03:08:18
7月23日晚七點(北京時間),2020年東京奧運會開幕式即將舉行,這場全球矚目的國際盛事牽動著不少國人的心。作為官方媒體,新華網將對東京奧運會進行持續報道。而真我GT大師探索版也
2021-07-24 03:08:11