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ũng có thể tạo các nhóm thu thập của riêng 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 bộ 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” thì điều này sẽ dễ hiểu hơn nhiều đố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ự, Bộ sưu tập 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 các bộ sưu tập 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 nhất định 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 Từ điển VBA, 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”.

Bạn có thể tải xuống Mẫu Excel Bộ sưu tập VBA này tại đây - Mẫu Excel Bộ sưu tập VBA

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 tôi 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 “Add”.

Mã:

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

Trong phương thức Add, chúng ta có một số tham số nhất định. 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 

Bây giờ đối với biến “ColResult”, chúng ta 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ố chính 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 

Được rồi, chúng ta đã hoàn tất khi 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 bằng một ví dụ đơn giản.

Hãy tưởng tượng bạn có một thực đơn gồm các loại trái cây với tên và giá của các loại trái cây đó. 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 đó.

Để tìm kiếm giá của trái cây, chúng ta cần phải đề cập đến tên của trái cây, tức là trong ngôn ngữ VBA Bộ sưu tập Tên của trái câyChìa khóa và giá của trái cây là "Mặt hàng".

Nó giống như việc áp dụng hàm VLOOKUP hoặc HLOOKUP, dựa trên giá trị tra cứu chúng ta sẽ lấy dữ liệu cần thiết từ cơ sở dữ liệu. Ở đây giá trị tra cứu là Key và kết quả là Item.

Ví dụ nâng cao

Hãy tưởng tượng bạn là người quản lý cửa hàng tại một trong những cửa hàng bán lẻ và bạn chịu trách nhiệm quản lý các truy vấn của khách hàng. Một trong những câu hỏi của khách hàng là câu hỏi về giá sản phẩm.

Bạn cần cho phép khách hàng tìm kiếm giá của sản phẩm với đầy đủ thông tin. Tương tự, bạn cần hiển thị thông báo trong trường hợp không tìm thấy dữ liệu. Dưới đây là mã ví dụ sẽ hiển thị hộp nhập liệu trước mặt người dùng và họ yêu cầu nhập tên sản phẩm họ đang tìm kiếm, nếu sản phẩm có trong bộ sưu tập, nó sẽ hiển thị giá của sản phẩm được đề cập hoặc nếu không thì sẽ hiển thị thông báo là “Sản phẩm bạn đang tìm kiếm không tồn tại”.

Mã:

 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á của trái cây "& ColResult &" là: "& ItemsCol (ColResult) Khác MsgBox" Giá trái cây bạn đang tìm kiếm không tồn tại Bộ sưu tập "End If End Sub 

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