Mảng 1 chiều và 2 chiều trong VBA

Mảng 1 chiều và 2 chiều trong VBA

  1. Mảng 1 chiều trong VBA
  2. Mảng 2 chiều trong VBA

I. Mảng 1 chiều trong VBA

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ử.

1. Khai báo mảng cố định (số phần tử biết trước)

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

2. Khai báo mảng động (chưa biết kích thước trước)

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)

3. Duyệt qua mảng

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.

4. Khai báo và gán nhanh (với mảng chuỗi)

Dim colors As Variant
colors = Array("Red", "Green", "Blue")

Debug.Print colors(0)  ' Red

5. Xóa mảng (gán về rỗng):

Erase arr

II. Mảng 2 chiều trong VBA

1. Khái niệm mảng 2 chiều

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.

2. Khai báo mảng 2 chiều

🟡 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)

3. Gán và truy xuất phần tử

arr(1, 1) = "A"
arr(1, 2) = "B"
arr(2, 1) = "C"
arr(2, 2) = "D"

4. Duyệt mảng 2 chiều

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:

Bài viết liên quan:

Mảng 1 chiều và 2 chiều trong VBA