您的位置:首页 > 编程语言 > VB

VBA中Dictionary对象使用小结

2015-12-19 00:52 567 查看

转载▼

标签: 


杂谈

分类: EXCELVBA
VBA中Dictionary对象使用小结

2005-11-15

VBA中Dictionary对象使用小结

Dim dict

' 创建Dictionary

Set dict = CreateObject("Scripting.Dictionary")

' 增加项目

dict.Add "A", 300

dict.Add "B", 400

dict.Add "C", 500

' 统计项目数

n = dict.Count

' 删除项目

dict.Remove ("A")

' 判断字典中是否包含关键字

dict.exists ("B")

' 取关键字对应的值,注意在使用前需要判断是否存在key,否则dict中会多出一条记录

Value = dict.Item("B")

' 修改关键字对应的值,如不存在则创建新的项目

dict.Item("B") = 1000

dict.Item("D") = 800

' 对字典进行循环

k = dict.keys

v = dict.Items

For i = 0 To dict.Count - 1

key = k(i)

Value = v(i)

MsgBox key & Value

Next

' 删除所有项目

dict.Removeall

实例:

Sub 宏1()

Set dic = CreateObject("Scripting.Dictionary") '字典

For i = 1 To 10000

If Not i Like "*4*" Then

dic.Add i, "" '如果不包含“1”

End If

Next

Range("a2").Resize(dic.Count, 1) = Application.WorksheetFunction.Transpose(dic.keys) '从A2单元开始向下放置

End Sub

=========================================================================

又 Tranpose工作表函数的用法实例

'把一行多列的二维数组转换成一维数组

Sub test()

Dim arr, arrt

arr = Range("a1:j1")

arrt = WorksheetFunction.Transpose(WorksheetFunction.Transpose(arr))

Stop

End Sub

首先看看TRANSPOSE函数的基础用法。官方帮助说明,TRANSPOSE函数可返回转置单元格区域,即将行单元格区域转置成列单元格区域,反之亦然。

  TRANSPOSE函数语法是:TRANSPOSE(array)

  Array参数是需要进行转置的数组或工作表上的单元格区域。所谓数组的转置就是,将数组的第一行作为新数组的第一列,数组的第二行作为新数组的第二列,以此类推。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: