vba数组操作方法大全(vba数组操作方法大全)

10个月前 (04-22)

今天给各位详细介绍关于“vba数组操作方法大全”的核心内容以及“vba数组操作方法大全”的相关知识,希望对各位有所帮助。

  VBA中的数组定义和赋值,是编程进阶的一个标志。

  无论什么编程语文,数组的应用是一个十分重要的项目。

  如何玩到熟练,就各有各的玩法。

  但是基础的东西,一定要掌握牢固。

  这样才在应用的过程中,不会迷茫。

  首先看一下上面的图片,是为对数组定义的一个。

  Dim + 数组名

  定义数组用Dim关键字,后面的一些参数,没有也可以,表示任意大小或任意类型的数组。

  Dim Arr(0 to 10)

  这样就定义了一个由最小下标为0,下标为10的一维数组,也就是Arr数组里面包含了从0~10的11个变量。

  可以给每一个变量赋值,如:

  Arr(0)="1"

  Arr(10)=10

  显然Arr(0)的值为“1”字符类型值。Arr(10)的值是数字类型,整形或长整形。可以用typename()测试一下。

  统一给数组赋值可以用函数Array()进行。

  Arr=Array("1","2","3")

  值与值之间用","逗号间隔。

  数组图1

  通常定义了一个固定长度的数组并不完全符我们的要求,如果想再增加一个数组值,怎么办呢?

  用下面的语句:

  ReDim Arr(0 to 20)

  ReDim是重新定义数组的意思,就是说把数组Arr重新定义成最小下标为0,下标为20的数组。

  注意:这样定义之后的数组,都将会清空,以前保存到数组里的内容将没有了。

  如果我们不想把数组内容清空怎么办?

  用下面的定义方式:

  ReDim Preserve Arr(0 to 20)

  这个定义将不改变原有数组的内容,而改变数组长度。

  是不是比较简单,复杂的工数组在二维,以及三维或多维。

  定义方法同理,如:

  Dim Arr(0 to 3,0 to 5)

  Dim Arr(0 to 3,0 to 5,0 to 10)

  比较复杂的多维数组应用就不介绍了,使用起来费大脑。

  上图为本例代码,分别创建了三个数组进行举例说明:

  Private Sub CommandButton1_Click()

  Dim r As Range, s As Worksheet

  Set s = ThisWorkbook.ActiveSheet

  Set r = s.Range("C2")

  Dim NewArr, ro As Long, i As Long

  ro = 7

  ReDim NewArr(1 To ro)

  For i = 1 To ro

  NewArr(i) = r.Offset(i, 0)

  Next i

  s.OLEObjects("TextBox1").Object.Value = "数组名:NewArr" & VBA.vbCrLf & "数组值:" & VBA.Join(NewArr)

  End Sub

  循环方式给一维数组赋值,值为“数组图1”表格内容,可以对应查看。

  下面代码是将数组定义和重复定义的一些方法统一到一起的例子:

  Private Sub CommandButton3_Click()

  Dim r As Range, s As Worksheet

  Set s = ThisWorkbook.ActiveSheet

  Set r = s.Range("C2")

  Dim NewArr2, l As Long

  l = 6

  ReDim NewArr2(l)

  NewArr2 = Array("一月", "二月", "三月", "四月", "五月", "六月")'数组赋值

  l = 12

  ReDim Preserve NewArr2(l) '重定义数组长度,不改变数组内容

  NewArr2(6) = "七月"

  NewArr2(7) = "八月"

  NewArr2(8) = "九月"

  NewArr2(9) = "十月"

  NewArr2(10) = "十一月"

  NewArr2(11) = "十二月"

  s.OLEObjects("TextBox1").Object.Value = "数组名:NewArr2" & VBA.vbCrLf & "数组值:" & VBA.Join(NewArr2)

  End Sub

  数组应用是一个逐渐学习的过程,不会一下子学会。

  除非你特别聪明,大脑运行特别快。

  一维数组很好理解,相当于一个名字雷同的一些变量组。

  多维数组就相对难了,如果学过矩阵,也好理解,如果会下围棋二维数组也不太困难。

  如果你对空间感知能力十分强大,数组对你一定是个小儿科!

  总之,数组应用为什么这么普遍,因为其有不可替代的作用。

  执行效率高是一点,然后还是效率高,通用性能强大。

  总之,要学会。

  之后还有一些,表格转换数组的一些应用要介绍。

以上内容就是关于vba数组操作方法大全和vba数组操作方法大全的精彩内容,是由小编认真整理编辑的,如果对您有帮助欢迎收藏转发...谢谢!