Biến mảng(array) trong VBA
Cách lập trình biến mảng(array) trong VBA
- Biến mảng trong VBA
- Cú pháp khai báo mảng trong VBA
- Gán giá trị cho mảng VBA
- Truy cập giá trị của mảng
- Khai báo mảng động (Dynamic Array)
- Thay đổi kích thước mảng
- Mảng nhiều chiều (Multidimensional Array)
- Tóm tắt về mảng trong VBA
- 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
Đăng nhận xét