⼆维数组赋值_【VBA】数组的应⽤
任何编程语⾔都离不开数组的应⽤,同样的,VBA也不例外,今天给⼤家讲讲数组的⼀些知识。 什么是数组?数组其实就是⼀组数据,存
在于我们的内存中,我们看不到。在我们⽇常应⽤中,我们基本只⽤得到⼀维和⼆维数组,本⽂主要讲解这两种。
⼀维数组中是⼀⾏多列数据,⽤逗号分隔。
如下代码,我定义了⼀个数组,然后给数组赋值,再将数组的数据赋值给单元格中。
⼆维数组其实就是⼀组多⾏多列的数据。 如下代码,我定义了⼀个4⾏4列的数组,然后给数组部分元素赋值,再将数组整体赋值到单元格。
注意:arr(1 To 4, 1 To 4)  中,第⼀个参数的1 to 4,1代表数组的上界,4代表数组的下界,可以⽤对应的函数求出数组的上下界,上界到下界也就是数组的范围。
Lbound    上界 Ubound    下界 如下代码:
怎么给数组赋值我定义了⼀个⼆维数组arr,⼀个⼀维数组brr,然后将arr,brr的上下界赋值到arr中,然后将arr数据赋值到A1:B4单元格区域。
我们可以发现,⽆论是⼀维数组,还是⼆维数组,他的上界都是第⼀个参数的上界,下界都是第⼀个参数的下界。⽽⼀维数组是⼀⾏多列的数据,所以上下界就是列的上下界,⼆维数组的上下界就是⾏的上下界。
Sub arrtwo()    Dim arr(1 To 4, 1 To 2)    Dim brr(2 To 10)    arr(1, 1) = "arr的上界"    arr(1, 2) = LBound(
arr)    arr(2, 1) = "arr的下界"    arr(2, 2) = UBound(arr)    a 注意:如果在数组中,我们没有指定范围,数组默认的第⼀个标记是0,不是1。⼀维数组的第⼀个元素是arr(0),⼆维数组的第⼀个元素是
arr(0,0)
Sub ExChanDate()    Dim arr(), brr()    arr() = Range("A1:A4").Value      brr() = Range("B1:B4").Value      Range("A1:A4") = brr()      Range("B1:B4") = ar
代码解析:
第2⾏:定义两个数组
第3-4⾏:分别将A1:A4数据,B1:B4数据赋值给arr,brr两个数据
第5-6⾏:将arr,brr数组的数据分别赋值给B1:B4,A1:A4,实现数据的交换
注意:此处虽然我没有申明数组的上下界,但是此处数组上界是1,将单元格中的数据赋值给数组时,上界都是1,且都为⼆维数据。
也就是说,将单元格中的数据赋值给数组时,⽆论是⼀⾏,还是⼀列,赋值到数组中时,都是⼆维数组。
如以下代码:
我将单元格中的⼀⾏数据赋值给arr(),我再给arr()中单个元素赋值时,第⼀项数据是arr(1,1),第⼆项数据是arr(1,2),⽽不是
arr(1),arr(2),这是因为arr()在此处是⼆维数组。
Sub test()    Dim arr()    arr() = Range("A1:D1").Value    arr(1, 1) = 1                '此处不能⽤arr(1),因为arr()是⼆维数组    arr(1, 2) = 2    Range("A1:D1") = arr End
1)⼤⼤加快运⾏代码速度,特别是在循环中,利⽤数组进⾏运算会⽐直接引⽤单元格快很多。
2)增加代码的可读性
3)便于修改代码
本⽂是⼀些数组的基本⽤法,希望同学们能够理解,在之后的⼀些⽂章中,进⾏数据处理时,⼤部分都会使⽤到数组。到时候再带领⼤家深
刻认识数组的⼀些⽤法。本⽂就到这啦,如果⽂章对你有⽤的话,点个在看或者分享给你的朋友,⼤家⼀起学习吧

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。