Mảng VBA trong Excel | Danh sách 5 loại mảng hàng đầu (có ví dụ)

Mảng VBA trong Excel

Nói chung, một biến được cho là chứa một giá trị duy nhất tại một thời điểm, nhưng khi chúng ta muốn lưu trữ nhiều giá trị trong một biến duy nhất thì kiểu biến đó được gọi là biến mảng, để sử dụng một biến mảng trong VBA, chúng ta cần khai báo hoặc xác định nó trước, chúng ta có thể xác định biến mảng có độ dài hoặc không có độ dài của nó.

Giả sử nếu chúng ta có dữ liệu chứa hàng trăm hàng và nhiều cột và chúng ta cần tạo một mã sẽ sử dụng dữ liệu. Bây giờ, trong trường hợp này, chúng ta phải tạo bội số của biến sẽ lấy giá trị từ các ô và cung cấp cho chương trình. Điều này sẽ rất mệt mỏi khi tạo ra nhiều biến và do đó trong những trường hợp như vậy, chúng tôi sử dụng Mảng trong excel.

Mảng giữ tập dữ liệu trong bộ nhớ của chúng và không cần chúng ta khai báo biến cho từng giá trị cần lấy từ dữ liệu. Nhu cầu sử dụng mảng là do trong thực tế, một biến excel được thiết kế để giữ một giá trị tại một thời điểm, tuy nhiên, khi nhiều giá trị được lưu trữ bởi một biến, nó sẽ trở thành một mảng.

  • Tạo Mảng cũng giống như tạo một đơn vị bộ nhớ riêng biệt có thể chứa dữ liệu trong đó. Để tạo một Mảng, dữ liệu phải cùng kiểu.
  • Mảng mà chúng tôi cung cấp cho excel phải tương ứng với loại dữ liệu mà chúng tôi có. Giả sử nếu chúng ta có dữ liệu chỉ có các hàng, vì vậy trong trường hợp này, chúng ta sẽ sử dụng "Mảng một chiều" và nếu dữ liệu cũng chứa các cột thì chúng ta phải sử dụng "Mảng hai chiều" vì chúng chỉ có khả năng giữ các giá trị từ các hàng và cột.
  • Mảng cũng có chức năng hoạt động như mảng động hoặc mảng tĩnh. Khi chúng tôi cung cấp phạm vi động cho công thức, chúng tôi cũng có thể làm cho Mảng biến. Mảng động sẽ có chức năng bao gồm vô số hàng và cột. Trong trường hợp nếu các mảng mà chúng ta đã xác định thuộc loại tĩnh thì chúng chỉ có thể chứa số lượng hàng và cột giới hạn như đã xác định tại thời điểm tạo mảng.

Giải trình

Mảng hoạt động dựa trên “Quy tắc toán học của ma trận” là chúng chỉ xác định dữ liệu theo vị trí của nó. Giả sử nếu chúng ta phải làm cho VBA hiểu rằng chúng ta cần “20” trong ô “B3” thì chúng ta phải viết mã của vị trí là (3, 2) trong đó giá trị đầu tiên là vị trí của hàng và giá trị thứ hai là số cột. Trong thế giới excel, những mã vị trí này được gọi là "Giới hạn trên" và "Giới hạn dưới". Theo mặc định, vị trí trong excel bắt đầu từ một chứ không phải từ 0, vì vậy excel coi “A1” là hàng số 0 chứ không phải hàng số 1.

Tương tự, các cột bắt đầu từ 0 và không bắt đầu từ một.

Các mảng này có thể được định nghĩa là một mảng tĩnh hoặc mảng động. Nếu chúng ta định nghĩa chúng là mảng tĩnh, điều này có nghĩa là chúng không thể chứa nhiều hơn các biến được xác định trong khi mã hóa chúng. Nếu chúng ta không chắc chắn về giá trị được yêu cầu ghi nhớ bởi các mảng, chúng ta tạo mảng động và trong những trường hợp như vậy, chúng có thể chứa vô số giá trị.

Bây giờ sau khi chúng ta đã chọn loại mảng được yêu cầu, bây giờ chúng ta sẽ phải nhập dữ liệu vào các mảng này.

Dữ liệu này phải được cung cấp từng cái một để vượt trội theo những cách dưới đây.

Sau khi dữ liệu được lưu trữ trong các mảng này, chúng đã sẵn sàng để sử dụng như một biến trong mã hóa VBA.

Danh sách 5 loại mảng hàng đầu

  1. Mảng tĩnh
  2. Mảng động
  3. Một mảng chiều
  4. Mảng hai chiều
  5. Mảng đa chiều

Chúng ta hãy xem từng chi tiết một trong số chúng.

# 1 - Mảng tĩnh

Một mảng có số lượng giá trị được xác định trước có thể được lưu trữ trong đó.

# 2 - Mảng động

Mảng có số lượng giá trị không được xác định trước mà nó có thể xử lý.

# 3 - Mảng một chiều

Một mảng chỉ có thể chứa dữ liệu từ các hàng hoặc cột.

# 4 - Mảng hai chiều

Một mảng có thể lưu trữ một giá trị từ các hàng và cột.

# 5 - Mảng đa chiều

Làm thế nào để sử dụng Mảng trong VBA (với ví dụ)?

Bạn có thể tải xuống Mảng này trong Mẫu VBA Excel tại đây - Mảng trong Mẫu VBA Excel

Mảng có thể được sử dụng trong nhiều trường hợp nhưng chúng phải được sử dụng khi số lượng biến sẽ được khai báo với số lượng lớn và việc khai báo chúng là không khả thi.

Dưới đây là một số ví dụ nhưng trước khi đi đến các ví dụ, chúng ta sẽ học cách mở trình chỉnh sửa VBA bằng phím tắt

Thao tác này sẽ mở trình soạn thảo VBA, từ đó chúng ta phải nhập mã vào “Trang tính này”.

Ví dụ 1

Chọn kiểu mảng mà bạn muốn, đó là mảng động hay mảng tĩnh?

Nếu chúng ta cần một mảng động thì chúng ta sẽ xác định thứ nguyên là "biến thể".

Nếu chúng ta cần một mảng tĩnh thì chúng ta sẽ xác định một thứ nguyên là "Tĩnh".

Ví dụ số 2

Xác định các cột và hàng mà bạn muốn mảng lưu trữ.

Nếu chúng ta đã nhập “1” trong dấu ngoặc, điều này có nghĩa là mảng có thể chứa giá trị 2 hàng khi quá trình đếm trong excel bắt đầu từ 0.

Nếu chúng ta cũng cần cột và hàng thì chúng ta cần xác định cả hai.

Ở đây “1 đến 2” có nghĩa là hai hàng và “1 đến 3” có nghĩa là ba cột.

Ở đây chúng tôi đã thay đổi quy tắc về cách excel đếm hàng và yêu cầu nó đếm từ “1” chứ không phải từ 0.

Ví dụ # 3

Đầu vào của dữ liệu trong mảng.

Dữ liệu phải được nhập vào các ô khôn ngoan. Ở đây, dữ liệu sẽ được nhập dưới dạng (I, j) trong đó “I” có nghĩa là hàng và “J” có nghĩa là cột.

Vì vậy, "a (1,1") có nghĩa là ô "A1"

Ví dụ # 4

Đang đóng mã.

Sau khi dữ liệu đã được nhập cho mảng, bước cuối cùng sẽ là đóng mã.

Những điều cần ghi nhớ

  • Theo mặc định, Excel sẽ đếm các hàng bắt đầu từ số không. Điều này có nghĩa là “2” thay cho “I” sẽ có nghĩa là 3 hàng chứ không phải 2 hàng. Điều này cũng áp dụng cho “J”.
  • Dữ liệu phải được nhập cho mảng phải được bắt đầu từ (0, 0) từ hàng đầu tiên và cột đầu tiên.
  • Trong trường hợp nếu chúng ta đang sử dụng mảng động thì điều này sẽ cần đến chức năng “VBA REDIM” để xác định số hàng và cột được yêu cầu ghi nhớ.
  • Trong trường hợp tạo một mảng hai chiều thì chúng ta phải sử dụng "Số nguyên" làm thứ nguyên.
  • Tệp excel cần được lưu trong phiên bản “Tương thích với Macro” nếu không quá trình mã hóa mà chúng tôi đã thực hiện trong VBA sẽ biến mất và sẽ không chạy vào lần sau.

$config[zx-auto] not found$config[zx-overlay] not found