vba判断字符串在数组中_VBA代码解决⽅案第111讲:VBA数组的深⼊讲解,如何创建VB。。。
⼤家好,我们今⽇继续讲解VBA代码解决⽅案的第111讲内容:VBA数组的深⼊讲解,如何创建VBA数组及数组⼤⼩的判断
array在vb什么意思啊⼀、如何创建数组:
1、使⽤Array创建数组。
  看以下代码:
Sub Mynz_sz1()
Dim arr()
arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) '将1到10⼗个⾃然数赋给数组arr
[a1].Resize(1, 10) = arr '将数组的值输⼊单元格,注意这⾥没有⽤转置函数
End Sub
代码窗⼝
运⾏:
 特别注意点1:使⽤Array创建的数组索引号默认从0开始,当然,如果已经⽤“OPTION BASE 1”语句指定了的另当别论。
 特别注意点2:如果赋的值是⽂本,那需要⽤英⽂引号引起来,如:
  代码: arr = Array("张⼀", "徐⼀", "陈⼀", "王⼀")
2、使⽤Split创建数组
Split的作⽤是把⼀个⽂本,根据指定的分隔符,建⽴⼀个数组。感觉就有点像我们EXCEL中的基础操作中的“分列”。不同的是“分
列”操作是将⼀个单元格的⽂本按指定的分隔符分开,存放在同⾏的多个单元格⾥,⽽Split的作⽤是将⼀个⽂本(也可以是存放在单元格⾥的)按指定的分隔符分开,存放在⼀个数组变量⾥。
arr = Split("张⼀,徐⼀,陈⼀,王⼀,许⼀,张⼆,陈⼆,张三,徐⼆,张四", ",")
 特别注意点3:⽤Split把⽂本转换成数组,索引号总是从0开始。不管你是否使⽤了Option Base语句,这点和Array不同。
3、通过Range创建数组
  (1)循环给单元格赋值
  ⽐如想把A1:A100单元格的值给数组arr,则代码为:
Sub Mynz_sz2()
Dim arr(1 To 29)
For i = 1 To 29
arr(i) = Cells(i, 1)
Next
[d1].Resize(29, 1) = Application.WorksheetFunction.Transpose(arr)
End Sub
代码窗⼝:
运⾏:
(2)直接等于单元格区域
  这个很简单,直接数组名等于单元格区域就可以了。⽐如想把A1:A100单元格的值给数组arr,代码还可以简单写为:代码:
arr = [a1:a100]
⼆数组⼤⼩的判断:UBount和LBound函数
我们定义数组时,我们可以指定数组的起始索引号不为0,⽽为1或其他的任意数。⽐如Dim arr(5 to 6)定义的这个数组起始索引号为5,共有两个元素。
那么,对于⼀个已经定义了的数组,我们想知道它的最⼤索引号(上界)和最⼩索引号(下界)是多少,怎么办呢?别慌,⽤UBound和LBound两个函数就可以了。
如,要想知道数组arr的上界是多少,则:UBound(arr);要想知道数组arr的下界是多少,则:LBound(arr)。想知道数组有多少个元素,则:UBound(arr)- LBound(arr)+1
如代码:
Sub Mynz_sz3()
Dim arr(10 To 50)
Dim brr(1 To 10, 1 To 100)
MsgBox "第⼀个⼀维数组数组的上标是:" & UBound(arr) & Chr(13) _
& "数组的下标是:" & LBound(arr) & Chr(13) _
& "数组的元素个数是:" & UBound(arr) - LBound(arr) + 1 & Chr(13) _
& "第⼆个两维数组第⼀维的上界是:" & UBound(brr, 1) & Chr(13) _
& "第⼆维的上界是:" & UBound(brr, 2)
End Sub
运⾏后:
今⽇内容回向:
1 如何创建数组?
2 数组的⼤⼩如何判断
《VBA代码解决⽅案》终于可以和⼤家见⾯了,这些将⼀些⾮常实⽤的VBA内容结集成册,PDF⽂件,
可以从中直接查到你想要解决问题的思路和⽅法,可以复制⽂中的VBA代码直接使⽤。有需要的朋友联络我NZ9668。

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