VBA ArrayList (Ví dụ) | Làm thế nào để tạo ArrayList trong Excel VBA?

Trong vba, chúng tôi đã xây dựng bộ sưu tập các kiểu dữ liệu, biến hàm và các câu lệnh quan trọng khác nhưng tương tự như điều này, chúng tôi có danh sách mảng trong VBA trong đó người dùng có thể sửa đổi và đặt bộ sưu tập các biến và hàm do người dùng xác định trong một mảng, có một số từ khóa cho danh sách mảng để thiết kế nó.

Excel VBA ArrayList

VBA ArrayList là một loại cấu trúc dữ liệu chúng tôi sử dụng trong VBA để lưu trữ dữ liệu. ArrayList trong Excel VBA là một lớp được sử dụng để tạo một mảng giá trị. Điều này không giống như các mảng truyền thống trong đó các mảng đó có độ dài cố định nhưng Danh sách mảng không có bất kỳ độ dài cố định nào.

VAB ArrayList không phải là một phần của danh sách VBA mà nó là một thư viện hoặc đối tượng bên ngoài mà chúng ta cần đặt tham chiếu trước khi bắt đầu truy cập nó.

Mảng trong VBA là một phần không thể thiếu của bất kỳ ngôn ngữ mã hóa nào. Bằng cách sử dụng mảng trong excel, chúng ta có thể lưu trữ dữ liệu với một tên biến duy nhất bằng cách khai báo “giới hạn dưới và giới hạn trên”.

Với mảng thông thường, chúng ta cần quyết định giới hạn dưới và giới hạn trên của mảng mà chúng ta cần quyết định trước tại thời điểm khai báo biến trong trường hợp Mảng tĩnh và trong trường hợp Mảng động, chúng ta cần quyết định độ dài của mảng sau khi khai báo mảng bằng cách sử dụng câu lệnh “ReDim” trong VBA.

Tuy nhiên, chúng tôi có thêm một tùy chọn để có thể lưu trữ số giá trị “N” mà không cần khai báo giới hạn dưới và giới hạn trên. Trong bài viết này, chúng tôi sẽ chỉ cho bạn về tùy chọn đó, tức là “VBA ArrayList”

Để đặt tham chiếu đến đối tượng VBA ArrayList, hãy làm theo các bước dưới đây.

Bước 1: Đi tới Công cụ> Tham khảo

Bước 2: Cửa sổ tham chiếu thư viện đối tượng sẽ xuất hiện trước mặt bạn. Chọn tùy chọn “ mscorlib.dll

Bước 3: Nhấp vào OK. Bây giờ chúng ta có thể truy cập VBA ArrayList.

Ví dụ về VBA ArrayList trong Excel

Dưới đây là các ví dụ về Excel VBA ArrayList.

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

Ví dụ # 1 - Tạo phiên bản của VBA ArrayList

Vì Excel VBA ArrayList là một đối tượng bên ngoài, chúng tôi cần tạo một thể hiện để bắt đầu sử dụng đối tượng này. Để tạo phiên bản, hãy làm theo các bước dưới đây.

Bước 1: Khai báo biến là “ ArrayList ”.

Mã:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList End Sub 

Bước 2: Vì Array List là một đối tượng nên chúng ta cần tạo một thể hiện mới.

Mã:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList End Sub 

Bước 3: Bây giờ chúng ta có thể tiếp tục lưu trữ các giá trị vào biến mảng bằng cách sử dụng phương thức “Thêm”. Trong hình ảnh dưới đây, tôi đã thêm ba giá trị.

Mã:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues. Thêm "Hello" 'First Value ArrayValues. Thêm "Good"' Second Value ArrayValues. Thêm "Morning" 'Ba giá trị cuối phụ 

Bây giờ chúng tôi đã chỉ định ba giá trị, làm thế nào để chúng tôi xác định cái nào là giá trị đầu tiên và làm cách nào chúng tôi có thể hiển thị các giá trị hoặc sử dụng chúng theo nhu cầu của chúng tôi.

Nếu bạn nhớ kiểu mảng truyền thống, chúng tôi đề cập đến giá trị mảng đầu tiên như sau “ArrayName (0)”

Tương tự, chúng ta cũng có thể sử dụng kỹ thuật tương tự ở đây.

ArrayValue (0) = “Xin chào”
ArrayValue (1) = “Tốt”
ArrayValue (2) = “Buổi sáng”

Hãy hiển thị điều này trong hộp tin nhắn.

Mã:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList Set ArrayValues ​​= New ArrayList ArrayValues.thêm "Hello" 'First Value ArrayValues. Thêm "Good"' Second Value ArrayValues. Thêm "Morning" 'Ba giá trị MsgBox ArrayValues ​​(0) & vbNewalues ​​(0) & vbNewalues ​​( 1) & vbNewLine & ArrayValues ​​(2) End Sub 

Bây giờ hãy chạy mã bằng phím F5 hoặc sau đó theo cách thủ công, chúng ta sẽ thấy “Xin chào”, “Tốt” và “Buổi sáng” trong hộp thông báo VBA.

Như vậy, chúng ta có thể lưu trữ bất kỳ số lượng giá trị nào với Đối tượng danh sách mảng.

Ví dụ # 2 - Lưu trữ giá trị vào ô bằng VBA ArrayList

Hãy xem ví dụ về lưu trữ các giá trị được gán cho các ô trong trang tính. Bây giờ, hãy xem mã VBA bên dưới.

Mã:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Tên của thiết bị di động MobileNames. Thêm "Redmi" MobileNames. Thêm "Samsung" MobileNames. Thêm "Oppo" MobileNames. Thêm "VIVO" MobileNames. Thêm "LG" Đặt MobilePrice = ArrayList mới MobilePrice. Thêm 14500 MobilePrice. Thêm 25000 MobilePrice. Thêm 18500 MobilePrice. Thêm 17500 MobilePrice. Thêm 17800 End Sub 

Với hai danh sách mảng, tôi đã lưu trữ Tên của Điện thoại di động và Giá của Điện thoại di động. Bây giờ chúng ta cần chèn các giá trị này vào trang tính, vì điều này chúng ta cần sử dụng các vòng lặp. Vòng lặp dưới đây sẽ thực hiện công việc cho tôi.

Dưới đây là mã Tổng thể để lưu trữ các giá trị vào trang tính.

Mã:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = New ArrayList 'Tên của thiết bị di động MobileNames. Thêm "Redmi" MobileNames. Thêm "Samsung" MobileNames. Thêm "Oppo" MobileNames. Thêm "VIVO" MobileNames.Add "LG" Đặt MobilePrice = New ArrayList MobilePrice. Thêm 14500 MobilePrice. Thêm 25000 MobilePrice. .Value = MobileNames (k) Cells (i, 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub 

Khi chúng tôi chạy mã theo cách thủ công hoặc sử dụng phím F5 sau đó, chúng tôi sẽ nhận được kết quả bên dưới.


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