VBA基础学习之1.8数组

VBA基础学习之数组

我们都知道,一个变量是一个存储值的容器。 有时,开发人员希望一次可以在一个变量中保存多个值。 当一系列值存储在单个变量中时,则称为数组变量。


1.8.1 数组声明
数组声明的方式与声明变量相同,只是数组变量的声明使用括号。 在下面的例子中,括号里提到了数组的大小。参考以下示例 -

'Method 1 : Using Dim
Dim arr1()    'Without Size

'Method 2 : Mentioning the Size
Dim arr2(5)  'Declared with size of 5

'Method 3 : using 'Array' Parameter
Dim arr3
arr3 = Array("apple","Orange","Grapes")

在上面代码中,

  • 虽然数组大小被指定为5,但是当数组索引从零开始时,它可以保持6个值。
  • 数组索引不能是负数。
  • VBScript数组可以在数组中存储任何类型的变量。因此,一个数组可以在一个数组变量中存储一个整数,字符串或字符。

1.8.2 赋值给数组
通过为每个要分配的值指定一个数组索引值,将这些值分配给数组。它可以是一个字符串。

Private Sub Constant_demo_Click()
   Dim arr(5)
   arr(0) = "1"           'Number as String
   arr(1) = "VBScript"    'String
   arr(2) = 100            'Number
   arr(3) = 2.45            'Decimal Number
   arr(4) = #10/07/2013#  'Date
   arr(5) = #12.45 PM#    'Time

   msgbox("Value stored in Array index 0 : " & arr(0))
   msgbox("Value stored in Array index 1 : " & arr(1))
   msgbox("Value stored in Array index 2 : " & arr(2))
   msgbox("Value stored in Array index 3 : " & arr(3))
   msgbox("Value stored in Array index 4 : " & arr(4))
   msgbox("Value stored in Array index 5 : " & arr(5))
End Sub

1.8.3 多维数组
数组不仅限于一个维度,但它们最多可以有60个维度。 二维数组是最常用的数组。

Private Sub Constant_demo_Click()
   Dim arr(2,3) as Variant    ' Which has 3 rows and 4 columns
   arr(0,0) = "Apple" 
   arr(0,1) = "Orange"
   arr(0,2) = "Grapes"           
   arr(0,3) = "pineapple" 
   arr(1,0) = "cucumber"           
   arr(1,1) = "beans"           
   arr(1,2) = "carrot"           
   arr(1,3) = "tomato"           
   arr(2,0) = "potato"             
   arr(2,1) = "sandwitch"            
   arr(2,2) = "coffee"             
   arr(2,3) = "nuts"            

   msgbox("Value in Array index 0,1 : " &  arr(0,1))
   msgbox("Value in Array index 2,2 : " &  arr(2,2))
End Sub

1.8.4 ReDim语句
ReDim语句用于声明动态数组变量并分配或重新分配存储空间。

Private Sub Constant_demo_Click()
   Dim a() as variant
   i = 0
   redim a(5)
   a(0) = "XYZ"
   a(1) = 41.25
   a(2) = 22

   REDIM PRESERVE a(7)
   For i = 3 to 7
   a(i) = i
   Next

   'to Fetch the output
   For i = 0 to ubound(a)
      Msgbox a(i)
   Next
End Sub

1.8.5 数组方法
VBScript中有各种内置函数,可以帮助开发人员有效地处理数组。

编号方法描述
1LBound它返回一个整数,对应于给定数组的最小下标。
2UBound它返回一个整数,对应于给定数组的最大下标。
3Split它返回一个包含指定数量值的数组。根据分隔符分割。
4Join它返回一个包含数组中指定数量的子串的字符串。这是Split方法的一个完全相反的功能。
5Filter它返回一个基于零的数组,该数组包含基于特定过滤条件的字符串数组的子集。
6IsArray它返回一个布尔值,表示输入变量是否是一个数组。
7Erase为数组变量恢复分配的内存。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值