打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel之VBA常用功能应用篇:应用字典进行编程快速提高数据处理能力

No.1

字典应用是一个十分高效的方法,可以成对数据处理,像一把利器,各种应用能力体现。

下面重点介绍创建和应用字典的方法。

创建字典很简单只需要一行代码,如下所示:

Set dic = CreateObject("Scripting.Dictionary")

没技巧可言,记住就行了。

需要了解一下字典的几个属性和方法,如下图所示:

下面用一个实例来,具体进行演示一下,如何进行字典应用。

No.2

示例:

本示例分别把两列赋值给一个字典对象,然后将字典值添加到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

代码相对复杂,主要是对一些可能是错误进行了判断筛选,不做过多讨论。

重点说一下字典的几个方法:

  1. 添加键和值:Add key,item

  2. 删除字典:RemoveAll

  3. 删除某个键值:Remove key

  4. 搜索键是否存在:exists

  5. 返回Key数组:Keys

  6. 返回Item数组:Items

  7. 返回字典数:Count

  8. 返回或设置Item:Item(Key)=[newItem]

  9. 设置Key:Key(key)=NewKey

对照程序进行查看,使用方法,可进一步掌握字典方法和属性分别代表的内容。

总之,字典是成双成对的出现,一个Key对应着一个Item值,如果Key没有了,也就没有值了。可以理解为量子纠缠的理论一样,一一对应,不可以分开。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
来自【Excel完美论坛】
vba_ComboBox
你能搞定50万行数据对比吗?
Excel
vba实现excel二级联动多选功能
VBA文本框输入智能提示
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服