VBA中Dictionary对象使用小结
2015-12-19 00:52
567 查看
转载▼
标签:
| 分类: EXCELVBA |
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参数是需要进行转置的数组或工作表上的单元格区域。所谓数组的转置就是,将数组的第一行作为新数组的第一列,数组的第二行作为新数组的第二列,以此类推。
相关文章推荐
- excel VBA 字典与集合(Dictionary与Collection)
- VBA中集合collection方法的基础知识
- VB中ByVal与ByRef有什么区别
- vba excel 的宏
- 利用VBA把PowerDesigner的comment复制到name
- 利用VBA把PowerDesigner的name复制到comment
- 行情列表重构 TabBar&NavBar&tableView
- 解决Unable to load R3 module ...VBoxDD.dll (VBoxDD):GetLastError=1790
- 利用VBA从Excel导入数据模型到PowerDesigner
- 利用VBA把PowerDesigner导出到Excel
- VBoxManage命令详解
- 函数模块:CTVB_COMPARE_TABLES--两个表中删除/变更/粘贴分解
- VB6.0 读取Excel文件并返还数据集RecordSet
- vb学习基础之val函数与val(&HFFFF) 的理解
- Phone_DVB+OTT项目首页
- vb制作单片机 上位机 (1) 控制单个电灯开关
- [VBS] Working with DOS Command Line
- VB6.0 获取Excel文件工作表Sheet的名称
- 【VBA研究】定时关闭MsgBox及相关未公开的API
- 因为PPBC的防盗链,尝试用vba的对象来解决,顺便复习一下。。。