Từ điển VBA | Hướng dẫn làm việc với từ điển VBA trong Excel

Từ điển VBA trong Excel

Sử dụng VBA Dictionary, 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 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.

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

Tạo phiên bản của từ điển với mã VBA

Sau khi thiết lập 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.

Lưu ý: Tất cả các từ có nút Xanh là Phương thức và những từ khác là Thuộc tính.

Bây giờ khai báo một biến là DictResult.

Dim DictResult như một biến thể

Bây giờ bằng cách 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. 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 từ khóa bằng cách sử dụng biến “Dict”.

Key là từ mà 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 vào. 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 từ điển 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 mà 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.

Tên của NgườiKey.

Các số điện thoạiItem.

Nếu bạn muốn có ví dụ về Excel, chúng ta có thể lấy hàm VLOOKUP làm ví dụ. Chúng tôi sử dụng công thức để tìm kiếm các giá trị dựa trên GIÁ TRỊ LOOKUP (Khóa). Kết quả trả về bởi hàm VLOOKUP được gọi là Item.

Kiểm tra xem điện thoại di động có ở đó hay không

Hãy tưởng tượng bạn đang đưa một biểu mẫu người dùng cho khách hàng của mình để kiểm tra giá điện thoại di động bằng một hộp nhập liệu đơn giản. Bên dưới mã VBA trong Excel sẽ hiển thị Hộp nhập liệu trước mặt người dùng và họ cần nhập thương hiệu điện thoại họ đang tìm kiếm, nếu tên thương hiệu có trong từ điển, nó sẽ hiển thị giá của điện thoại tương ứng hoặc nếu không thì sẽ hiển thị thông báo là “Điện thoại bạn đang tìm không tồn tại trong thư viện”.

Mã:

 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á của đ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ả.


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