VBA数组与字典笔记

1、crr = Range("A1").CurrentRegion '以A1为起点的连续区域给数组
2、Range("K1").Resize(UBound(crr, 1), UBound(crr, 2)) = crr

'.resize(行数,列数),ubound(crr,1)为整个数组的行数,ubound(crr,2)为整个数组的列数,该语句相当于将整个数组复制到以K1为起点的区域

3、 Set outrange = Range("P1").Resize(UBound(crr, 1), 1) 
	outrange.Value = Application.Index(crr, 0, 3)
	'先定义输出数组的行数和列数,该语句相当于定义了数组的行数,列数为一列
	'然后用index将数组对应的值给输出数组,Application.Index(数组, 行数(如果为0为全部行), 数组第几列)
    

4、字典的定义

Dim dic As Object, key As String, dickeys, Item, dicItems
Set dic = CreateObject("scripting.dictionary")

5、字典的keys和items直接给数组

arr1 = dic.Keys                             '将关键字赋予arr1
arr2 = dic.Items                            '将条目赋予arr2

6、判断字典键(key)是否存在:
可以使用“Exists”方法判断一个键是否存在于字典中。例如:

If dict.Exists("apple") Then
		MsgBox "存在"
Else
		MsgBox "不存在"
End If

7、遍历字典:
可以使用“For Each”语句来遍历字典中的键值对。例如:

Dim key As Variant
For Each key In dict.Keys
	MsgBox key & ": " & dict(key)
Next key

8、弹窗msgbox

MsgBox "关键字:及时雨" & vbcrlf & "条   目:" & .Item("及时雨"), vbOKOnly, ".Add ""及时雨"", ""宋江"""

标题为:.Add “及时雨”, “宋江”,vbOKOnly是添加弹窗标题的
内容为:关键字:及时雨" & vbcrlf & “条 目:” & .Item(“及时雨”)
9、'利用keys方法和Items方法输出所有关键字和所有条目

Sub Keys与Items方法输入数组()
	  With CreateObject("scripting.dictionary") '创建字典对象
		.Add "及时雨", "宋江"                   '添加第一个条目对
		.Add "黑旋风", "李逵"                   '添加第二个条目对
		.Add "拼命三郞", "石秀"                 '添加第三个条目对
		.Add "呼保义", "宋江"                   '添加第四个条目对
		'将4个关键字导出到A1:A4区域中,必须选择区域
		Range("A1:A4") = WorksheetFunction.Transpose(.Keys)
		'将4个条目导出到B1:B4区域中
		Range("B1:B4") = WorksheetFunction.Transpose(.Items)
	 End With
End Sub
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

补丁515

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值