分享

VBA数组01

 L罗乐 2016-09-15

'1、什么是VBA数组呢?

'VBA数组就是储存一组数据的数据空间?数据类型可以数字,可以是文本,可以是对象,也可以是VBA数组.

'2 VBA数组存在形态

' VBA数组是以变量形式存放的一个空间,它也有行有列,也可以是三维空间。

'1) 常量数组

'array(1,2)

'array(array(1,2,4),array('a','b','c'))

'2) 静态数组

'x(4) '有5个位置,编号从0~4

'arr(1 to 10) '有10个位置,编号1~10

'arr(1 to 10,1 to 2) '10行2列的空间,总共20个位置,这是二维数组

'arr(1 to 10,1 to 2,1 to 3) '三维数组,总10*2*3=60个位置。这是三维数组

'3)动态数组

'arr() '不知道有多少行多少列



'向VBA数组中写入数据

'1、按编号(标)写入和读取

Sub t1() '写入一维数组

Dim x As Integer

Dim arr(1 To 10)

arr(2) = 190

arr(10) = 5

End Sub

Sub t2() '向二维数组写入数据和读取

Dim x As Integer, y As Integer

Dim arr(1 To 5, 1 To 4)

For x = 1 To 5

For y = 1 To 4

arr(x, y) = Cells(x, y)

Next y

Next x

MsgBox arr(3, 1)

End Sub

'2、动态数组

Sub t3()

Dim arr()

Dim row

row = Sheets('sheet2').Range('a65536').End(xlUp).row - 1

ReDim arr(1 To row)

For x = 1 To row

arr(x) = Cells(x, 1)

Next x

Stop

End Sub

'3、批量写入

Sub t4() '由常量数组导入

Dim arr

arr = Array(1, 2, 3, 'a')

Stop

End Sub

Sub t5() '由单元格区域导入

Dim arr

arr = Range('a1:d5')

Stop

End Sub








    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多