30、[VBA入门到放弃笔记] 数组的赋值

2017-06-21  本文已影响1759人  叶知行

Sub ss()
   Dim arr(1 To 10) As Long
   Dim i As Long
   For i = 1 To 10
       arr(i) = i
       Debug.Print arr(i)
   Next
End Sub
结果 数据源
Sub bb()
Dim arr()
arr = Sheets("数组").Range("a1").CurrentRegion.Value
End Sub
结果
Sub vv()
Dim arr(), brr()
arr = Range("a1:a6").Value
brr = Range("a1:b1").Value
End Sub
Paste_Image.png
1 2 3 4 5
Sub vv()
Dim arr(), brr(), crr()
arr = Range("a1:b6")
brr = Sheets("数组").Range("a1:b6").Value
crr = Sheets("数组").Range("a1:b6")
End Sub
Paste_Image.png

如果不想麻烦,就这样定义(数组) Dim arr

练习:将上面例子中工资大于等于300的提取出来。

练习
Sub vv()
    Dim i As Long, rng As Range
    For i = 2 To 6
        If Cells(i, 2) >= 300 Then
            If rng Is Nothing Then
                Set rng = Cells(i, 1).Resize(1, 2)
            Else
                Set rng = Union(Cells(i, 1).Resize(1, 2), rng)
            End If
        End If
    Next
    rng.Copy Range("d2")
End Sub
       Sub vv()
1:        Dim arr, i As Long, k As Long
2:        arr = Range("a2:b6").Value
3:        For i = 1 To UBound(arr)
4:            If arr(i, 2) >= 300 Then
5:                k = k + 1
6:                arr(k, 1) = arr(i, 1)
7:                arr(k, 2) = arr(i, 2)
8:            End If
9:        Next
10:        Range("d2").Resize(k, 2) = arr
       End Sub
Paste_Image.png
上一篇 下一篇

猜你喜欢

热点阅读