Mảng 1 chiều trong VBA là một biến chứa nhiều giá trị theo thứ tự, dùng chỉ số (index) để truy cập từng phần tử.
Dim arr(0 To 4) As Integer ' Mảng có 5 phần tử: từ 0 đến 4
arr(0) = 10
arr(1) = 20
Hoặc:
Dim arr(4) As Integer ' Tự động hiểu là từ 0 đến 4
Dim arr() As Integer
ReDim arr(0 To 2)
arr(0) = 5
arr(1) = 10
arr(2) = 15
👉 Có thể thay đổi kích thước mảng bằng ReDim, dùng Preserve để giữ giá trị cũ:
ReDim Preserve arr(0 To 4)
Dim i As Integer
For i = LBound(arr) To UBound(arr)
Debug.Print arr(i)
Next i
LBound(arr): Phần tử đầu (thường là 0).
UBound(arr): Phần tử cuối.
Dim colors As Variant
colors = Array("Red", "Green", "Blue")
Debug.Print colors(0) ' Red
Erase arr
Mảng 2 chiều trong VBA giống như một bảng có hàng và cột, dùng để lưu trữ dữ liệu dạng bảng (giống Excel).
👉 Bạn cần 2 chỉ số: một cho hàng, một cho cột.
🟡 Mảng cố định
Dim arr(1 To 3, 1 To 2) As String
Gồm 3 hàng, 2 cột.
Tổng số phần tử = 3 × 2 = 6.
🟡 Mảng động
Dim arr() As String
ReDim arr(1 To 5, 1 To 3)
arr(1, 1) = "A"
arr(1, 2) = "B"
arr(2, 1) = "C"
arr(2, 2) = "D"
Dim i As Integer, j As Integer
For i = LBound(arr, 1) To UBound(arr, 1) ' Hàng
For j = LBound(arr, 2) To UBound(arr, 2) ' Cột
Debug.Print arr(i, j)
Next j
Next i
LBound(arr, 1): Phần tử đầu của hàng
UBound(arr, 2): Phần tử cuối của cột
Tìm kiếm:
Mảng 1 chiều và 2 chiều trong VBA