|
一、VBA数组的读取
1. 在内存中读取
在内存中读取后用于继续运算,直接用下面的格式
数组变量 (序号)
数组变量(行数,列数)- Sub d1()
- Dim arr, arr1()
- Dim x As Integer, k As Integer, m As Integer
- arr = Range("a1:a10") '把单元格区域导入内存数组中
- m = Application.CountIf(Range("a1:a10"), ">10") '计算大于10的个数
- ReDim arr1(1 To m)
- For x = 1 To 10
- If arr(x, 1) > 10 Then
- k = k + 1
- arr1(k) = arr(x, 1)
- End If
- Next x
- Stop
- End Sub
复制代码 2.读取存入单元格中- Sub d2() '二维数组存入单元格
- Dim arr, arr1(1 To 5, 1 To 1)
- Dim x As Integer
- arr = Range("b2:c6")
- For x = 1 To 5
- arr1(x, 1) = arr(x, 1) * arr(x, 2)
- Next x
- Range("d2").Resize(5) = arr1
- End Sub
- Sub d3() '一维数组存入单元格
- Dim arr, arr1(1 To 5)
- Dim x As Integer
- arr = Range("b2:c6")
- For x = 1 To 5
- arr1(x) = arr(x, 1) * arr(x, 2)
- Next x
- Range("a13").Resize(1, 5) = arr1
- Range("d2").Resize(5) = Application.Transpose(arr1)
- End Sub
- Sub d4() '数组部分存入
- Dim arr, arr1(1 To 10000, 1 To 1)
- Dim x As Integer
- arr = Range("b2:c6")
- For x = 1 To 5
- arr1(x, 1) = arr(x, 1) * arr(x, 2)
- Next x
- Range("d2").Resize(5) = arr1
- End Sub
复制代码 |
|