Заявление о типе VBA (пример) | Как объявить переменные с типом VBA?

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

Что такое оператор типа в Excel VBA?

Оператор типа VBA используется для определения переменных под одним именем группы с разными типами данных, присвоенными каждой переменной. Это помогает нам сгруппировать несколько переменных под одним объектом, чтобы использовать их под определенным именем типа.

Объявляя оператор Type, мы можем избежать использования модулей класса в VBA. Ему не нужны строковые модули, потому что он может быть встроен в уже существующие модули, что может сэкономить нам место.

В одной из предыдущих статей мы обсуждали «VBA ENUM» для группирования всех переменных под одним именем группы.

Например, если у вас есть название группы «Мобильные телефоны», у нас есть такие члены группы, как «Redmi, Oppo, Vivo, Samsung, LG и т. Д.». Таким образом, заявление Enum мы можем сгруппировать вместе с их соответствующими значениями.

Enum Mobiles

Редми = 12000

Оппо = 18000

Виво = 18000

Самсунг = 25000

LG = 15000

Конец перечисления

Таким образом, мы создали перечисления в этой статье. Проблема с оператором Enum, поскольку он может содержать только тип данных LONG. Чтобы сгруппировать переменные с разными типами данных, мы можем использовать «Оператор VBA TYPE». В этой статье мы покажем вам, как создать оператор Type в VBA. Читать дальше…

Синтаксис

Прежде чем объявлять переменные с помощью оператора Type, взгляните на синтаксис:

Имя группы типов             [Переменная 1] как Тип данных переменной             [Переменная 2] как Тип данных переменной             [Переменная 3] как Тип данных             переменной [Переменная 4] как Тип данных             переменной [Переменная 5] как Тип данных переменной, Конечный тип

Эти типы операторов могут быть объявлены внутри модуля, а также в верхней части модуля, как наши глобальные переменные в VBA.

Тип VBA может содержать объектные переменные, он может содержать массивы. Однако он не может содержать процедур, функций.

Пример инструкции типа в VBA

Вы можете скачать этот шаблон заявления типа VBA здесь - Шаблон заявления типа VBA

Хорошо, давайте начнем процесс объявления переменных с помощью оператора Type. Мы увидим тот же пример объявления мобильных брендов, который мы использовали в VBA Enum.

Шаг 1: В верхней части модуля начните слово «Тип» и дайте имя Типу группы.

Код:

 Тип Мобильные бренды Тип конца 

Шаг 2. Что мы обычно видим в мобильных брендах? Сначала мы видим имя, поэтому объявите переменную как имя как строку.

Код:

 Введите имя MobileBrands как строку Тип конца 

Шаг 3: После названия мы проверяем дату запуска. Объявите переменную LaunchDate как Date.

Код:

 Введите имя MobileBrands в виде строки LaunchDate As Date End Type 

Шаг 4: Далее мы проверяем емкость хранилища. Чтобы объявить переменную как Storage as Integer.

Код:

 Тип MobileBrands Имя как строка LaunchDate как дата Хранение как целое число Тип конца 

Шаг 5: Далее мы проверяем объем оперативной памяти.

Код:

 Тип MobileBrands Имя как строка LaunchDate как дата Хранение как RAM как целое число Тип конца 

Шаг 6: Наконец, мы проверяем цену.

Код:

 Тип MobileBrands Имя как строка LaunchDate как дата Хранение как целое число RAM как целое Цена как длинный тип конца 

Теперь в подпроцедуре, объявив переменную как имя типа, т.е. MobileBrands, мы можем получить доступ ко всем этим типам данных переменных.

Step 7: Create a subprocedure.

Code:

 Sub Type_Example1() End Sub 

Step 8: Now declare the variable “Mobile” as MobileBrnads.

Code:

 Sub Type_Example1() Dim Mobile As Mob End Sub 

Step 9: Now with the variable name “Mobile” we can access all the variables of “MobileBrands”.

Code:

Step 10: Now store each value like the below.

Code:

 Type MobileBrands Name As String LaunchDate As Date Storage As Integer RAM As Integer Price As Long End Type Sub Type_Example1() Dim Mobile As MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile.LaunchDate & vbNewLine & _ Mobile.Storage & vbNewLine & Mobile.RAM & vbNewLine & Mobile.Price End Sub 

Finally, show the result in a VBA message box like the below one.

Code:

 Sub Type_Example1() Dim Mobile As MobileBrands Mobile.Name = "Redmi" Mobile.LaunchDate = "10-Jan-2019" Mobile.Storage = 62 Mobile.RAM = 6 Mobile.Price = 16500 MsgBox Mobile.Name & vbNewLine & Mobile.LaunchDate & vbNewLine & _ Mobile.Storage & vbNewLine & Mobile.RAM & vbNewLine & Mobile.Price End Sub 

Now run the code using F5 key or manually and see the result in a message box.

Like this, we can use the “VBA Type” statement to define new data type in the subprocedure.

VBA Types vs VBA Class

VBA Type often compared to VBA Class modules. There are certain differences between them. Below are the common differences.

  • Difference 1: VBA Type can contain only Public variables. VBA Class can contain both Public as well as Private variables.
  • Difference 2: VBA Type cannot contain Procedures and Function. VBA Class contains both of them along with properties.
  • Difference 3: VBA Type can be declared in any of the modules and procedures. VBA Class can only be declared in dedicated class modules.