Bộ sưu tập VBA - Làm thế nào để tạo Đối tượng Bộ sưu tập trong VBA?

Đối tượng Bộ sưu tập VBA trong Excel

Trong mã hóa VBA, ngoài tập hợp các mục hiện có trong một nhóm, chúng ta có thể tạo các nhóm thu thập của mình. Trong nhiều bài viết của chúng tôi, chúng tôi đã nói về các biến đối tượng và trong hướng dẫn này, chúng tôi sẽ giới thiệu chi tiết về đối tượng sưu tập VBA.

Nếu bạn đã xem qua bài viết trước của chúng tôi “Mảng VBA”, điều này sẽ dễ hiểu hơn đối với bạn. Mảng được sử dụng để nhóm các biến dưới một mái nhà; tương tự, Collection cũng được sử dụng để lưu trữ một nhóm các biến.

Bộ sưu tập được sử dụng để lưu trữ các đối tượng. Chúng linh hoạt hơn nhiều so với các mảng VBA, trong khi các mảng có giới hạn kích thước cố định, nhưng người đọc không có bất kỳ giới hạn kích thước cố định nào tại bất kỳ thời điểm nào và thậm chí không yêu cầu thay đổi kích thước thủ công.

Bộ sưu tập VBA rất giống với “Từ điển VBA”, nhưng từ điển yêu cầu tham chiếu đối tượng bên ngoài để thiết lập nó trong cửa sổ tham chiếu đối tượng. Với VBA Dictionary, chúng ta cần đặt kiểu tham chiếu là “Microsoft Scripting Runtime”, nhưng Bộ sưu tập không yêu cầu bất kỳ phụ kiện bổ sung nào.

Làm thế nào để tạo Đối tượng Bộ sưu tập trong VBA?

Để bắt đầu với bộ sưu tập trước tiên, chúng ta cần khai báo biến là “Bộ sưu tập”.

Mã:

Sub Collection_Example () Dim Col As Collection End Sub

Vì bộ sưu tập là một biến đối tượng, chúng ta cần thiết lập tham chiếu đối tượng bằng cách tạo một thể hiện mới.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection End Sub

Bây giờ với biến, chúng ta có thể truy cập tất cả các phương thức của biến tập hợp “Col.”

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Col. End Sub

Trước khi sử dụng các phương thức này, chúng ta cần khai báo một biến dưới dạng một chuỗi.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Dim ColResult As String End Sub

Bây giờ sử dụng biến “Col” để chọn phương thức “Thêm”.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Col. Thêm End Sub

Trong phương pháp Thêm, chúng tôi có các tham số cụ thể. Giả sử chúng ta đang lưu trữ tên thương hiệu điện thoại di động với giá bán trung bình của chúng trên thị trường.

Trong Mục, đối số nhập giá của điện thoại di động.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Col.Add Item: = 15000, End Sub

Tiếp theo, trong Đối số chính , hãy nhập tên thương hiệu di động.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" End Sub

Đối với biến “ColResult”, chúng tôi sẽ lưu trữ kết quả của biến đối tượng “Col”.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub

Khi bạn mở ngoặc đơn của biến “Col”, chúng ta có thể thấy đối số là Chỉ mục. Đối với đối số này, chúng ta cần cung cấp giá trị đối số quan trọng từ phương thức bổ sung Bộ sưu tập, tức là tên của thương hiệu di động.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub

Bây giờ hãy hiển thị kết quả trong hộp thông báo trong VBA.

Mã:

Sub Collection_Example () Dim Col As Collection Col = New Collection Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub

Ok, chúng tôi đã hoàn tất khi chúng tôi chạy mã. Chúng ta sẽ thấy giá của thương hiệu di động, “Redmi”.

Hiểu rõ hơn về các thông số chính & mặt hàng

Tôi chắc chắn rằng không dễ để hiểu các tham số của đối tượng Collection. Hãy để tôi giải thích cho bạn một ví dụ đơn giản.

Hãy tưởng tượng bạn có một menu các loại trái cây với tên và giá của chúng. Giả sử bạn đang tìm kiếm giá trái cây “Apple” theo tên của loại trái cây đó.

To search the price of the fruit, we need to mention the name of the fruit, i.e., in collection VBA language Name of the Fruit is Key, and the price of the fruit is “Item.”

It is like applying the VLOOKUP or HLOOKUP function, based on the lookup value, and we will fetch the required data from the database. Here lookup value is Key, and the result is Item.

Advanced Example

Imagine you are a store manager in one of the retail stores, and you are responsible for managing the customer queries. One such customer query is an inquiry about the product price.

It would help if you allowed the customer to search the price of the product with complete information. Similarly, you need to show the message in case of no data found. Below is the example code which will present the input box in front of the user. They require to enter the name of the product they are looking for. If the product is there in the collection, it will show the price of the mentioned product, or else it will show the message as “The Product you are searching for doesn’t exist.”

Code:

Sub Collection_Example2 () Dim ItemsCol As Collection Dim ColResult As String Set ItemsCol = New Collection ItemsCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Water Melon", Item: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Nhắc: = "Vui lòng Nhập tên trái cây ") If ItemsCol (ColResult)" "thì MsgBox" Giá trái cây "& ColResult &" là: "& ItemsCol (ColResult) Khác MsgBox" Giá trái cây bạn đang tìm không tồn tại Bộ sưu tập "End If End Sub

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