Изявление за тип VBA (пример) | Как да декларирам променливи с тип VBA?

Тип е оператор във VBA, който се използва за дефиниране на променливи, подобни на функцията DIM, използва се на дефинирано от потребителя ниво, когато имаме една или повече стойности в променлива, има две номенклатури за оператор тип, който е публичен или частен те не са задължителни за използване, но името на променливата и името на елемента са задължителни.

Какво представлява Type Statement в Excel VBA?

VBA Type Statement се използва за дефиниране на променливи под едно име на група с различни типове данни, присвоени на всяка променлива. Това ни помага да групираме множество променливи под един обект, за да ги използваме под определеното име на типа.

Чрез деклариране на оператор Type можем да избегнем използването на модули клас във VBA. Не се нуждае от низови модули, защото може да бъде вграден във вече съществуващи модули, което може да ни спести място.

В една от по-ранните статии обсъдихме „VBA ENUM“, за да групираме всички променливи под името на една група.

Например, ако имате име на група, наречено „Мобилни телефони“, имаме членове на групата като „Redmi, Oppo, Vivo, Samsung, LG и др.“ Така че изявление Enum можем да групираме заедно със съответните им стойности.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

Край на Enum

По този начин ние създадохме изброявания в тази статия. Проблемът с израза Enum, тъй като той може да съдържа само ДЪЛГО тип данни. За да групираме заедно променливи с различни типове данни, можем да използваме „VBA TYPE Statement“. В тази статия ще ви покажем как да изградите оператор Type в VBA. Прочетете нататък ...

Синтаксис

Преди да декларирате променливи с помощта на оператор Type, разгледайте синтаксиса:

Тип име на групата             [променлива 1] като променлива тип данни             [променлива 2] като променлива тип данни             [променлива 3] като променлива тип данни             [променлива 4] като променлива тип данни             [променлива 5] като променлива тип данни краен тип

Тези типове изявления могат да бъдат декларирани в рамките на модула, както и в горната част на модула, като нашите глобални променливи в VBA.

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

Пример за изявление на типа във VBA

Можете да изтеглите този шаблон за изявление за тип VBA оттук - Шаблон за изявление за тип VBA

Добре, нека започнем процеса на деклариране на променливи с оператор Type. Ще видим същия пример за деклариране на мобилни марки като начина, по който сме използвали във VBA Enum.

Стъпка 1: В горната част на модула започнете думата „Тип“ и дайте име на Тип група.

Код:

 Тип MobileBrands Краен тип 

Стъпка 2: В Mobile Brands кои са нещата, които обикновено виждаме. Първо виждаме Name, затова декларирайте променливата като Name като String.

Код:

 Въведете име на MobileBrands като тип край на низ 

Стъпка 3: След името проверяваме датата на стартиране. Обявете променливата като LaunchDate като дата.

Код:

 Тип MobileBrands Name As String LaunchDate As Date End Type 

Стъпка 4: Следващото нещо е да проверим капацитета за съхранение. Да декларираме променливата като Storage като Integer.

Код:

 Тип MobileBrands Name As String LaunchDate As Date Storage As Integer End Type 

Стъпка 5: Следващото нещо е да проверим капацитета на RAM.

Код:

 Тип 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.