Instrukcja typu VBA (przykład) - Jak zadeklarować zmienne za pomocą typu VBA?

Typ to instrukcja w języku VBA, która służy do definiowania zmiennych podobnych do funkcji DIM, jest używana na poziomie zdefiniowanym przez użytkownika, gdzie mamy jedną lub więcej wartości w zmiennej, istnieją dwie nomenklatury dla instrukcji typu, które są publiczne lub prywatne są one opcjonalne, ale nazwa zmiennej i nazwa elementu są wymagane.

Co to jest instrukcja typu w Excel VBA?

Instrukcja typu VBA służy do definiowania zmiennych pod jedną nazwą grupy z różnymi typami danych przypisanymi do każdej zmiennej. Pomaga nam to zgrupować wiele zmiennych w jednym obiekcie, aby używać ich pod zdefiniowaną nazwą typu.

Deklarując instrukcję Type, możemy uniknąć używania modułów Class w VBA. Nie potrzebuje żadnych modułów łańcuchowych, ponieważ można go osadzić w już istniejących modułach, co pozwala zaoszczędzić miejsce.

W jednym z wcześniejszych artykułów omówiliśmy „VBA ENUM”, aby zgrupować wszystkie zmienne pod jedną nazwą grupy.

Na przykład, jeśli masz nazwę grupy o nazwie „Mobiles”, mamy członków grupy, takich jak „Redmi, Oppo, Vivo, Samsung, LG itd…”. Zatem wyrażenie Enum możemy zgrupować razem z ich odpowiednimi wartościami.

Enum Mobiles

Redmi = 12000

Oppo = 18000

Vivo = 18000

Samsung = 25000

LG = 15000

End Enum

W ten sposób stworzyliśmy wyliczenia w tym artykule. Problem z instrukcją Enum, ponieważ może ona zawierać tylko dane typu LONG. Aby pogrupować zmienne z różnymi typami danych, możemy użyć „instrukcji VBA TYPE”. W tym artykule pokażemy, jak utworzyć instrukcję Type w języku VBA. Czytaj…

Składnia

Zanim zadeklarujesz zmienne za pomocą instrukcji Type, spójrz na składnię:

Nazwa grupy typów  (zmienna 1) jako typ danych zmiennej   (zmienna 2) jako typ danych zmiennej   (zmienna 3) jako typ danych   zmiennej (zmienna 4) jako typ danych   zmiennej (zmienna 5) jako typ danych zmiennej Typ  końcowy

Tego typu instrukcje można zadeklarować w module, jak również u góry modułu, tak jak nasze zmienne globalne w VBA.

Typ VBA może przechowywać zmienne obiektowe. Może pomieścić tablice. Nie może jednak zawierać procedur, funkcji.

Przykład instrukcji typu w języku VBA

Ok, zacznijmy proces deklarowania zmiennych za pomocą instrukcji Type. Zobaczymy ten sam przykład deklarowania marek mobilnych, jak w przypadku VBA Enum.

Krok 1: U góry modułu zacznij od słowa „Typ” i nadaj nazwę Typowi grupy.

Kod:

Wpisz Typ końcowy MobileBrands

Krok 2: Co zwykle widzimy w markach mobilnych. Najpierw widzimy nazwę, więc zadeklaruj zmienną jako nazwę jako ciąg.

Kod:

Wpisz nazwę MobileBrands jako typ końca ciągu

Krok 3: Po nazwie sprawdzamy datę premiery. Zadeklaruj zmienną jako LaunchDate jako Date.

Kod:

Wpisz nazwę MobileBrands jako ciąg Data rozpoczęcia jako Data Typ zakończenia

Krok 4: Następną rzeczą jest sprawdzenie pojemności pamięci. Aby zadeklarować zmienną jako Storage as Integer.

Kod:

Wpisz MobileBrands Name As String LaunchDate As Date Storage As Integer End Type

Krok 5: Następną rzeczą jest sprawdzenie pojemności pamięci RAM.

Kod:

Wpisz MobileBrands Name As String LaunchDate As Date Storage As RAM As Integer End Type

Krok 6: Na koniec sprawdzamy cenę.

Kod:

Wpisz nazwę marki MobileBrands jako ciąg Data rozpoczęcia jako data Przechowywanie jako liczba całkowita Pamięć RAM jako liczba całkowita Cena jako typ długiego końca

Teraz w procedurze Sub, deklarując zmienną jako Type, Name, tj. MobileBrands, możemy uzyskać dostęp do wszystkich tych typów danych zmiennych.

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 the 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 types in the subprocedure.

VBA Types vs. VBA Class

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

  • Różnica 1: Typ VBA może zawierać tylko zmienne publiczne. Klasa VBA może zawierać zarówno zmienne publiczne, jak i prywatne.
  • Różnica 2: Typ VBA nie może zawierać procedur i funkcji. Klasa VBA zawiera oba z nich wraz z właściwościami.
  • Różnica 3: Typ VBA można zadeklarować w dowolnym module i procedurze. Klasę VBA można zadeklarować tylko w dedykowanych modułach klas.

Interesujące artykuły...