Biến mảng(array) trong VBA

 

Cách lập trình biến mảng(array) trong VBA

  1. Biến mảng trong VBA
  2. Cú pháp khai báo mảng trong VBA
  3. Gán giá trị cho mảng VBA
  4. Truy cập giá trị của mảng
  5. Khai báo mảng động (Dynamic Array)
  6. Thay đổi kích thước mảng
  7. Mảng nhiều chiều (Multidimensional Array)
  8. Tóm tắt về mảng trong VBA
  9. Video về mảng trong VBA

1. Biến mảng trong VBA

Trong VBA (Visual Basic for Applications), biến mảng (array) là một loại biến dùng để lưu trữ nhiều giá trị cùng một lúc.

Mảng cho phép bạn làm việc với một tập hợp dữ liệu có cùng kiểu dữ liệu (ví dụ: các số nguyên, chuỗi, v.v.) trong một biến duy nhất. Bạn có thể truy cập và thay đổi các giá trị trong mảng bằng cách sử dụng chỉ số (index).

2. Cú pháp khai báo mảng trong VBA

Để khai báo một mảng trong VBA, bạn sử dụng cú pháp sau:

Dim mảng(Chỉ_số_bắt_đầu To Chỉ_số kết_thúc) As Kiểu dữ liệu

    mảng: Tên của mảng (đặt dính liền nhau, không tiếng việt, không ký tự đặt biệt).
    Chỉ số bắt đầu: Chỉ số bắt đầu của mảng (thường là 0 hoặc 1, tùy vào cấu hình).
    Chỉ số kết thúc: Chỉ số cuối cùng của mảng.
    Kiểu dữ liệu: Loại dữ liệu mà mảng chứa, ví dụ Integer, String, Double, v.v.

Ví dụ 1: Khai báo mảng đơn giản

Dim arr(1 To 5) As Integer

Trong ví dụ trên, mảng arr có 5 phần tử với chỉ số từ 1 đến 5, và mỗi phần tử sẽ chứa một giá trị kiểu Integer.

3. Gán giá trị cho mảng VBA

Khi mảng đã được khai báo, bạn có thể gán giá trị cho các phần tử của mảng bằng cách chỉ định chỉ số của phần tử.

arr(1) = 10
arr(2) = 20
arr(3) = 30
arr(4) = 40
arr(5) = 50 

4. Truy cập giá trị của mảng

Để truy cập giá trị của một phần tử trong mảng, bạn sử dụng chỉ số của phần tử đó.

MsgBox arr(1)  ' Hiển thị giá trị của phần tử đầu tiên trong mảng, tức là 10

5. Khai báo mảng động (Dynamic Array)

Mảng trong VBA có thể là mảng động, nghĩa là bạn có thể thay đổi kích thước của mảng trong thời gian chạy (runtime).

Để khai báo mảng động, bạn không cần xác định kích thước khi khai báo, mà sử dụng câu lệnh ReDim để thay đổi kích thước mảng.

 Dim arr() As Integer   ' Khai báo mảng động
ReDim arr(1 To 5)      ' Đặt kích thước mảng là 5 phần tử

6. Thay đổi kích thước mảng

Bạn có thể thay đổi kích thước mảng động sử dụng ReDim:

ReDim arr(1 To 10)   ' Thay đổi kích thước mảng thành 10 phần tử

Lưu ý rằng khi thay đổi kích thước mảng bằng ReDim, tất cả các giá trị trong mảng sẽ bị mất. Nếu bạn muốn giữ lại các giá trị hiện tại trong mảng, bạn có thể sử dụng ReDim Preserve.
Ví dụ 2: Sử dụng ReDim Preserve:

Dim arr() As Integer
ReDim arr(1 To 5)

' Gán giá trị cho mảng
arr(1) = 10
arr(2) = 20
arr(3) = 30
arr(4) = 40
arr(5) = 50 


' Thay đổi kích thước mảng và giữ lại giá trị cũ

 ReDim Preserve arr(1 To 8)
arr(6) = 60
arr(7) = 70
arr(8) = 80 


Mảng arr ban đầu có 5 phần tử, nhưng sau khi thay đổi kích thước bằng ReDim Preserve, mảng sẽ có 8 phần tử và các giá trị cũ được giữ lại.

7. Mảng nhiều chiều (Multidimensional Array)

Mảng trong VBA cũng có thể có nhiều chiều, ví dụ mảng 2 chiều, mảng 3 chiều, v.v.

Cấu trúc khai báo mảng nhiều chiều:

Dim mảng(1 To 5, 1 To 3) As Integer  ' Mảng 2 chiều với 5 hàng và 3 cột

Ví dụ 3: Mảng 2 chiều:

Dim arr(1 To 2, 1 To 3) As Integer

' Gán giá trị cho các phần tử trong mảng 2 chiều
arr(1, 1) = 10
arr(1, 2) = 20
arr(1, 3) = 30
arr(2, 1) = 40
arr(2, 2) = 50
arr(2, 3) = 60

' Truy cập giá trị của mảng 2 chiều
MsgBox arr(1, 2)  ' Hiển thị giá trị 20

8. Tóm tắt về mảng trong VBA

    Mảng trong VBA là một công cụ mạnh mẽ để lưu trữ và làm việc với nhiều giá trị có cùng kiểu dữ liệu.
    Bạn có thể khai báo mảng với kích thước cố định hoặc mảng động, cho phép thay đổi kích th

Nhận xét

Bài đăng phổ biến từ blog này

Biến Static trong VBA Access | NT Software

Cấp độ biến khi khai báo trong VBA Access | NT Software

Ngôn ngữ VBA do ai sáng lập