Словарь VBA

Словарь Excel VBA

Используя словарь VBA, мы можем сгруппировать все виды данных в словарь, чтобы получить доступ ко всем элементам с помощью одной переменной. Мы можем использовать словарь для создания набора комбинаций ключ-значение. Как только объект связан с ключами, позже мы можем вызывать их, просто используя имя ключа.

Словарь VBA очень сложен для понимания, но мы постараемся сделать все возможное, чтобы вам было легко его понять. Мы можем сравнить Словарь и Коллекцию в одном масштабе, но некоторые словари VBA предлагают некоторые функции, недоступные в Коллекции VBAКоллекции VBAКоллекция VBA — это несложная структура данных, используемая для хранения/сбора объектов. В отличие от VBA Array, здесь вы можете более удобно добавлять и удалять элементы. читать далее объект.

Словарь VBA

Вы можете использовать это изображение на своем веб-сайте, в шаблонах и т. д. Пожалуйста, предоставьте нам ссылку на авторствоКак предоставить атрибуцию?Ссылка на статью должна быть гиперссылкой
Например:
Источник: Словарь VBA (wallstreetmojo.com)

Работа со словарями VBA.

Чтобы работать со словарями VBA, первое, что нам нужно сделать, это установить ссылку на объект как «Microsoft Scripting Runtime».

Чтобы установить ссылку, выполните следующие шаги.

Шаг 1: Перейдите в Инструменты > Ссылки.

Словарь VBA шаг 1

Шаг 2: Прокрутите вниз и выберите параметр «Среда выполнения сценариев Microsoft», затем нажмите «ОК».

Словарь VBA шаг 2

Теперь мы можем получить доступ к словарю VBA с библиотекой сценариев.

Вы можете скачать этот шаблон Excel словаря VBA здесь — Шаблон Excel словаря VBA

Создать экземпляр словаря с кодом VBA

После установки ссылки на «Microsoft Scripting Runtime» нам нужно создать экземпляр словаря VBA. Сначала объявите переменную как Скрипты.Словарь.

Код:

Sub Dict_Example1()

  Dim Dict As Scripting.Dictionary

End Sub
Пример словаря VBA 1

Теперь переменная «Dict» является объектной переменной. Для объектной переменной нам нужно установить ссылку на объект, используя слово «Новый».

Set Dict = New Scripting.Dictionary
Пример 1-1

Теперь мы можем получить доступ ко всем свойствам и методам словаря.

Пример словаря VBA 1-2
Примечание: Все слова с зелеными кнопками — это методы, а остальные — свойства.

Теперь объявите одну переменную как DictResult.

Dim DictResult As Variant
Пример словаря VBA 1-3

Теперь с помощью переменной «Dict» мы создадим новый ключ.

Пример 1-4

Ключ это слово, которое мы добавляем. Давайте добавим имя мобильного телефона как «Redmi».

Пример словаря VBA 1-5

Пункт не что иное, как определение слова (ключ) мы добавили. Это определение телефона и есть его цена, поэтому добавлю цену до 15000.

Пример словаря VBA 1-6

Теперь для другой переменной «DictResult» мы добавим ключевое слово, используя переменную «Dict».

Пример 1-7

Ключ это слово, которое мы создали на предыдущем шаге, т. е. имя телефона.

Пример 1-8

Теперь переменная «Диктрезультат» имеет элемент ключа, который мы добавили. Теперь покажите результат переменной в Окно сообщения VBAОкно сообщений VBAФункция VBA MsgBox — это функция вывода, которая отображает обобщенное сообщение, предоставленное разработчиком. Этот оператор не имеет аргументов, и персонализированные сообщения в этой функции записываются в двойных кавычках, а для значений предоставляется ссылка на переменную.читать далее.

Код:

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
Пример 1-9

Теперь запустите код вручную или с помощью клавиши F5, и в окне сообщения будет показана цена (пункт) телефона (ключ) мы добавили с помощью «Dict».

Пример словаря VBA 1-10

Понимание КЛЮЧА и ПУНКТА

Если вы не поняли KEY & ITEM, позвольте мне объяснить вам на простом примере. Представьте себе реальный словарь. В этом словаре у нас есть слова (ключи) и значение этих слов (элемент). Точно так же слова — это Ключи, а определение или значение — это Предмет.

Теперь взгляните на еще один пример Словаря. Предположим, вы ищете номер телефона определенного человека. Как вы ищете?

Очевидно, используя имя, которое мы использовали при сохранении номера телефона. Здесь у нас есть две вещи, одна из которых Имя человека а второй это Телефонный номер.

Имя человека является Ключ.

В Телефонный номер является Пункт.

Если вам нужен пример Excel, мы можем привести ВПР в качестве примера. Мы используем формулу для поиска значений на основе LOOKUP VALUE (Ключ). Результат, возвращаемый Функция ВПРФункция ВПРФункция Excel ВПР ищет определенное значение и возвращает соответствующее совпадение на основе уникального идентификатора. Уникальный идентификатор однозначно связан со всеми записями базы данных. Например, идентификатор сотрудника, номер списка учащихся, контактный номер клиента, адрес электронной почты продавца и т. д. являются уникальными идентификаторами.
читать далее
называется Пункт.

Проверьте, есть ли мобильный телефон или нет.

Представьте, что вы даете своим клиентам пользовательскую форму для проверки цены мобильного телефона с помощью простого поля ввода. Ниже VBA-код ExcelКод Excel VBAКод VBA относится к набору инструкций, написанных пользователем на языке программирования приложений Visual Basic в редакторе Visual Basic (VBE) для выполнения определенной задачи.читать далее представит перед пользователем поле ввода, и ему нужно ввести марку телефона, который он ищет. Если название бренда есть в словаре, в нем будет указана цена соответствующего телефона, в противном случае будет отображаться сообщение «Телефон, который вы ищете, не существует в библиотеке».

Код:

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(Prompt:="Please Enter the Phone Name")

   If PhoneDict.Exists(DictResult) Then
   MsgBox "The Price of the Phone " & DictResult & " is : " & PhoneDict(DictResult)
   Else
   MsgBox "Phone You are Looking for Doesn't Exists in the Library"
   End If

End Sub

Запустите этот код с помощью клавиши F5 или вручную и посмотрите результат.

Пример словаря VBA 2

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *