VBA给数组赋值的方法有以下几种:
1. 直接赋值:通过使用`=`号将一个数组赋值给另一个数组。
```vba
Dim arr1() As Integer
Dim arr2() As Integer
arr1 = Array(1, 2, 3) ' 将数组 {1, 2, 3} 赋值给 arr1
arr2 = arr1 ' 将 arr1 的值赋值给 arr2
```
2. 使用循环遍历赋值:可以使用循环结构(如For循环、Do循环)逐个将值赋给数组的每个元素。
```vba
Dim arr(4) As Integer
Dim i As Integer
For i = 0 To 4
arr(i) = i + 1 ' 将每个元素赋值为对应的序号
Next i
```
3. 使用数组常量赋值:直接将数值列表赋给数组,即使用数组的常量。
```vba
Dim arr() As Integer
arr = Array(1, 2, 3, 4, 5) ' 将数组常量 {1, 2, 3, 4, 5} 赋值给 arr
```
4. 使用Split函数:通过使用Split函数将字符串拆分成数组,并赋值给一个数组变量。
```vba
Dim arr() As String
Dim str As String
str = "apple,banana,orange"
arr = Split(str, ",") ' 将字符串按逗号拆分为数组赋值给 arr
```
5. 使用Range对象赋值:可以使用Range对象的Value或Value2属性将一个区域的值赋给一个二维数组。
```vba
Dim arr() As Variant
Dim rng As Range
Set rng = Worksheets("Sheet1").Range("A1:C3")
arr = rng.Value ' 将区域 A1:C3 的值赋值给 arr
```
注意:在VBA中,数组的赋值是通过引用传递的,即两个数组变量指向同一个存储空间。如果想要将一个数组的值复制给另一个数组,可以使用Array函数创建一个新的数组,并将原数组的值复制给新数组。