Từ điển VBA trong Excel
Sử dụng Từ điển VBA, chúng ta có thể nhóm tất cả các loại dữ liệu trong một từ điển để có quyền truy cập vào tất cả các mục chỉ với một biến duy nhất. Chúng ta có thể sử dụng từ điển để tạo một bộ sưu tập các tổ hợp khóa-giá trị. Khi đối tượng được liên kết với các khóa, sau này, chúng ta có thể gọi chúng bằng cách sử dụng tên khóa.
Từ điển VBA rất khó tiếp cận, nhưng chúng tôi sẽ cố gắng hết sức để giúp bạn dễ hiểu. Chúng ta có thể so sánh cả Từ điển và Bộ sưu tập trên cùng một quy mô, nhưng một số từ điển VBA cung cấp một số chức năng không có sẵn với đối tượng Bộ sưu tập VBA.

Làm việc với Từ điển VBA
Để làm việc với VBA Dictionaries, điều đầu tiên chúng ta cần làm là đặt tham chiếu đối tượng thành 'Microsoft Scripting Runtime.'
Để thiết lập tham chiếu, hãy làm theo các bước dưới đây.
Bước 1: Vào Công cụ> Tham khảo.

Bước 2: Cuộn xuống và chọn tùy chọn 'Microsoft Scripting Runtime' sau đó nhấp vào ok.

Bây giờ chúng ta có thể truy cập VBA Dictionary với Scripting Library.
Tạo phiên bản của từ điển với mã VBA
Sau khi đặt tham chiếu đến 'Microsoft Scripting Runtime', chúng ta cần tạo một phiên bản của Từ điển VBA. Đầu tiên, khai báo biến là Scripting.Dictionary.
Mã:
Sub Dict_Example1 () Dim Dict As Scripting.Dictionary End Sub

Bây giờ biến “Dict” là một biến đối tượng. Đối với biến đối tượng, chúng ta cần đặt tham chiếu đối tượng bằng cách sử dụng từ “Mới”.
Đặt Dict = New Scripting.Dictionary

Bây giờ chúng ta có thể truy cập tất cả các thuộc tính và phương thức của từ điển.

Bây giờ khai báo một biến là DictResult.
Dim DictResult như một biến thể

Bây giờ sử dụng biến “Dict”, chúng ta sẽ tạo một khóa mới.

Chìa khóa là từ mà chúng tôi đang thêm vào. Hãy thêm tên Điện thoại di động là “Redmi”.

Mục không là gì ngoài định nghĩa của từ ( khóa ) mà chúng tôi đã thêm vào. Định nghĩa này của điện thoại là giá của nó, vì vậy tôi sẽ thêm giá thành 15000.

Bây giờ đối với một biến khác, “DictResult”, chúng tôi sẽ thêm một từ khóa bằng cách sử dụng biến “Dict”.

Chìa khóa là từ chúng ta đã tạo ở bước trước, tức là tên của điện thoại.

Bây giờ biến “DictResult” có mục của khóa mà chúng ta đã thêm. Bây giờ hiển thị kết quả của biến trong hộp thông báo VBA.
Mã:
Sub Dict_Example1 () Dim Dict As Scripting.Dictionary Set Dict = New Scripting.Dictionary Dim DictResult As Variant Dict.Add Key: = "Redmi", Item: = 15000 DictResult = Dict ("Redmi") MsgBox DictResult End Sub

Bây giờ hãy chạy mã theo cách thủ công hoặc sử dụng phím F5 và một hộp thông báo sẽ hiển thị cho bạn giá ( mặt hàng ) của điện thoại ( phím ) mà chúng tôi đã thêm bằng cách sử dụng “Dict”.

Hiểu KEY & ITEM
Nếu bạn chưa hiểu KEY & ITEM, 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 một cuốn từ điển trong thế giới thực. Với từ điển này, chúng ta có các từ (khóa) và nghĩa của các từ (mục) đó. Tương tự, các từ là Chìa khóa, và định nghĩa hoặc nghĩa là Mục.
Bây giờ, hãy xem thêm một ví dụ về Từ điển. Giả sử bạn đang tìm kiếm số điện thoại của một người cụ thể. Bạn tìm kiếm như thế nào?
Rõ ràng, bằng cách sử dụng tên, chúng tôi đã sử dụng trong khi lưu số điện thoại. Ở đây chúng ta có hai thứ một là Tên người và thứ hai là Số điện thoại.
The name of the Person is Key.
The Phone Number is Item.
If you want the example of Excel, we can give VLOOKUP as an example. We use the formula to look for values based on the LOOKUP VALUE (Key). The result returned by the VLOOKUP function is called Item.
Check Whether the Mobile Phone is there or not.
Imagine you are giving a user form to your customers to check the mobile phone’s price with a simple input box. Below Excel VBA code will present an Input Box in front of the user, and they need to enter the brand of the phone they are looking for. If the brand name is there in the dictionary, it will show the price of the respective phone, or else it will display the message as “Phone You are Looking for Doesn’t Exist in the Library.”
Code:
Sub Dict_Example2 () Dim PhoneDict As Scripting.Dictionary Dim DictResult As Variant Set PhoneDict = New Scripting.Dictionary PhoneDict.Add Key: = "Redmi", Item: = 15000 PhoneDict.Add Key: = "Samsung", Item: = 25000 PhoneDict .Add Key: = "Oppo", Item: = 20000 PhoneDict.Add Key: = "VIVO", Item: = 21000 PhoneDict.Add Key: = "Jio", Item: = 2500 DictResult = Application.InputBox (Nhắc: = "Vui lòng nhập tên điện thoại") Nếu PhoneDict.Exists (DictResult) Thì MsgBox "Giá điện thoại" & DictResult & "là:" & PhoneDict (DictResult) Khác MsgBox "Điện thoại bạn đang tìm kiếm không tồn tại trong Thư viện "End If End Sub
Chạy mã này bằng phím F5 hoặc theo cách thủ công và xem kết quả.
