Mảng VBA trong Excel - Làm thế nào để làm việc với Hàm mảng trong VBA?

Trong VBA, mảng được sử dụng để xác định nhóm đối tượng với nhau, có chín hàm mảng khác nhau trong VBA và chúng là ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT và UBOUND, tất cả đều là những hàm có sẵn cho mảng trong VBA, hàm Array cho chúng ta giá trị của đối số đã cho.

Hàm mảng VBA trong Excel

Hàm mảng là một tập hợp các giá trị trong một biến duy nhất. Chúng ta có thể cung cấp một mảng cho một Chương trình con trong VBA, Hàm và Thuộc tính. Mảng VBA là một trong những kỹ thuật thường được sử dụng để lưu trữ nhiều hơn một giá trị trong biến.

Ví dụ về hàm mảng VBA trong Excel

Thay vì khai báo nhiều biến và lưu trữ giá trị, chúng ta có thể sử dụng mảng VBA trong Excel để lưu trữ giá trị trong chính một biến duy nhất. Ví dụ, hãy xem ví dụ dưới đây

Mã:

Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub

Trong ví dụ trên, tôi đã khai báo hai biến được gọi là x & y. X giữ 1 là giá trị và Y giữ 2 là giá trị.

Bây giờ, hãy xem ví dụ về hàm mảng VBA trong Excel với một biến duy nhất.

Mã:

Sub Array_Ex () Dim x (1 đến 2) As Integer Range ("A1"). Value = x (1) Range ("A2"). Value = x (2) End Sub

Bây giờ, nếu bạn chạy mã VBA này, chúng tôi sẽ có các giá trị trong ô A1 & A2.

Các biến mảng trả về kết quả là 0. Điều này là do chúng ta vừa khai báo các biến là hai, nhưng chúng ta chưa gán bất kỳ giá trị nào cho các biến đó. Vì vậy chúng ta cần gán giá trị cho các biến này.

Mã:

Sub Array_Ex () Dim x (1 to 2) As Integer x (1) = 10 x (2) = 20 Range ("A1"). Value = x (1) Range ("A2"). Value = x (2 ) Kết thúc Sub

Bây giờ hãy chạy mã để nhận kết quả.

Trước khi nhập giá trị của các biến mảng vào ô, chúng ta cần gán giá trị cho các biến mảng đã khai báo đó giống như đã gán các biến x (1) = 10 & x (2) = 20.

Ví dụ # 1 - Chèn số sê-ri bằng mảng tĩnh

Hãy xem ví dụ về việc sử dụng một mảng tĩnh để chèn số sê-ri. Cái này giống cái trước.

Mã:

Sub StaticArray_Ex () Dim x (1 To 5) As Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1"). Giá trị = x (1) Dải ("A2"). Giá trị = x (2) Dải ("A3"). Giá trị = x (3) Dải ("A4"). Giá trị = x (4) Dải ("A5" ) .Value = x (5) End Sub

Bây giờ chạy mã này để chèn số sê-ri.

Ví dụ # 2 - Chèn số sê-ri bằng mảng động

Bây giờ chúng ta sẽ thấy kiểu mảng thứ hai, tức là mảng động

Mã:

Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Range ("A1" ) .Value = x (1) Range ("A2"). Value = x (2) Range ("A3"). Value = x (3) Range ("A4"). Value = x (4) Range (" A5 "). Giá trị = x (5) End Sub

Bây giờ chạy mã này để nhận kết quả của số sê-ri. Chúng tôi nhận được kết quả tương tự như kết quả trước đó.

Nếu bạn nhận thấy rằng chúng tôi đã không cung cấp độ dài của mảng trong khi khai báo biến, thay vào đó, chúng tôi đã gán giá trị cuối cùng của mảng VBA bằng cách sử dụng hàm VBA Redim. Redim giữ giá trị cuối cùng của mảng được truyền.

Ví dụ # 3 - Tạo hàm Chèn tên tháng bằng mảng

Chúng ta đã thấy cách làm việc với mảng trong VBA. Bây giờ chúng ta sẽ xem cách làm việc với một mảng để tạo một hàm VBA trong Excel. Hàm không là gì ngoài một hàm do người dùng định nghĩa trong VBA. Ngoài việc sử dụng các hàm có sẵn, excel VBA còn cho phép chúng ta tạo các hàm của riêng mình.

Mã:

Hàm List_Of_Months () List_Of_Months = Mảng ("Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11 "," Dec ") Chức năng Kết thúc

The below code will create a function that can insert months to our excel sheet.

Copy and paste the below code to your module.

Now save this code and close the VBA Editor. After closing the VBA editor, go to the worksheet and type the formula we have just created, and you should see the formula called List_Of_Months in your worksheet.

Open the formula and hit enter. We will get the first-month name i.e., Jan.

If you insert the formula one more time, still we would get Jan only, not the next month, Feb. So first select 12 columns in one row.

Now open the formula in D1 cell.

Since we have created the formula with the array, we need to close the formulas as an array formula only. So hold Ctrl + Shift + Enter. We would have all 12-month names.

Things to Remember

  • Có thêm hai kiểu mảng có sẵn, tức là mảng hai chiều & mảng đa chiều.
  • Mảng bắt đầu từ 0, không phải từ 1. Số không có nghĩa là hàng đầu tiên và cột đầu tiên.
  • Mảng là một chủ đề lớn. Bạn cần hiểu nó để tiến tới cấp độ tiếp theo.
  • Biến mảng sẽ là một biến chứa nhiều dữ liệu mỗi khi nó chuyển sang cấp độ tiếp theo.
  • Redim được sử dụng để lưu trữ độ dài cuối cùng của mảng trong kiểu mảng động.

thú vị bài viết...