Excel VBA Sınıf Modülü
VBA Sınıfı, her türlü özelliği, komut satırı ayrıntılarını, işlev türünü ekleyebileceğimiz kendi Nesne işlevimizi oluşturmamızı sağlar. VBA'da Class oluşturduğumuzda, tamamen bağımsız bir nesne işlevi gibi davranırlar ancak hepsi birbirine bağlıdır.
Bu, zaten VBA ve Excel'de bulunanlar gibi uygulamalar oluşturmamıza yardımcı olur. Örneğin, pedal çevirme döngüsü tekerleği döner. Pedallar ve Tekerlekler, Döngünün parçalarıdır, ancak her ikisi de çıkışı hareketli bir döngü olarak vermek için bağımsız olarak çalışır.

VBA'da Özel Sınıf ve Nesneler Nasıl Oluşturulur?
İPhone X, Samsung S8 ve Nokia 7+ gibi bu şirketlerin popüler ve yeni piyasaya sürülen cep telefonlarını göz önünde bulundurarak Apple, Samsung ve Nokia olmak üzere 3 farklı şirketin cep telefonu örneğini ele alalım.
Bu cep telefonları için Marka, Model, Ekran Boyutu, Kamera Türü ve Şarj Cihazı Türü gibi bazı önemli özellikleri karşılaştıracağız. Bunlar temelde bu temelde önemli özelliklerdir. Çoğunlukla herhangi bir cep telefonunu karşılaştırıyoruz. Aşağıda, yukarıda tartışılan parametreleri bir grafikte eşleştirdik.

Ekle menüsünden VBA penceresinde, aşağıda gösterildiği gibi Sınıf Modülünü seçin .

Aşağıda gösterildiği gibi Option Explicit ile başlayan Class modülü penceresini alacağız .

Option Explicit , değişkenlerin kullanılmadan önce bildirilmesini sağlar. Herhangi bir değişken tanımlayıp onu kullanmazsak, sistem bir hata verecektir. Şimdi Sınıfta, Cep telefonlarının tüm tartışılan ölçüm parametrelerini Halkla tanımlayın . Bu, tanımlanan parametreleri her zaman, her yerde, sınırlama olmaksızın kullanıma açık hale getirecektir.
Kod:
Seçenek Açık 'Özellikler listesi Genel Marka As String Genel Model As String Public ScreenSize As String Public CameraType As String Public ChargerType As String

Şimdi, aşağıda gösterildiği gibi her bir işlev için Alt Kategori ile bir telefonu başlatma, telefonu kapatma, müzik çalma, pili şarj etme vb. Gibi bir cep telefonunun işletim, özellik ve işlevlerinin farklı bir sürecini ekleyeceğiz. Ve her bir Alt kategori döngüsüne bir mesaj kutusu ekleyin, böylece şu anda hangi yöntemlerin çalıştığını görebiliriz.
Kod:
'Olası Teknikler Alt MobileStarts () MsgBox "Mobil Açılıyor" Son Alt
Sub MobileOff () MsgBox "Mobil Kapanıyor" Son Alt
Sub PlayMusic () MsgBox "Ses sistemi şu anda çalışıyor" End Sub
Sub BatteryCharge () MsgBox "Şarj cihazı şu anda takılı" End Sub

Bu, Sınıfın oluşumunu tamamlar. Daha ileri gitmeden önce, Sınıf Modülünün adını değiştirmemiz tavsiye edilir. Mobil olarak değiştirirken ihtiyacınıza göre herhangi bir isim seçin .

Şimdi her cep telefonu markasının özelliklerini ve işlevlerini göreceğimiz ve karşılaştıracağımız bir modül içerisine bir kod yazacağız. Bunun için, gösterilen menüdeki Ekle menüsünün altına giderek bir Modül eklememiz gerekiyor .

Çalışırken ve bir sınıf oluştururken bunda Option Explicit etkinleştirilmiş yeni bir modül açacağız. Şimdi aşağıda gösterildiği gibi gerçekleştirilen işlevler adına Alt Kategori yazmaya başlayın.

Class için yaptığımız gibi Modülün adını da değiştirebiliriz. Bu, oluşturulan VBA kodunun ilişkili kimliğini korumamıza yardımcı olur. Bu, aşağıda gösterildiği gibi özellikler penceresinden yapılabilir.

Tüm marka cep telefonlarının çeşitli özelliklerini, işlevlerini ve yöntemlerini zaten tanımladık. Şimdi herhangi bir isimde (Tercihen cep telefonu markası adına) 3 değişken tanımlayalım ve bunu Mobile'a atayalım. Aşağıda gösterildiği gibi önce iPhone ile başlayalım.

Benzer şekilde, aşağıda gösterildiği gibi cep telefonu markasının geri kalanı için de aynısını yapın.

Böylelikle oluşturulan Sınıfı Mobil markanın her boyutsal değişkenine atarız . Şimdi her marka için aynı Sınıfı atama işlemini yapın .
Şimdi Cep telefonunun tüm özelliklerini ve değerini atamamız gerekiyor. Bunun için Ayar işlevini kullanın ve aşağıda gösterildiği gibi Yeni Mobil'e atayın .

Şimdi iPhone için With-End döngüsünü açın. Burası, mobilin her bir özelliğini tanımlayacağımız yerdir.

Gördüğümüz gibi Class'tan iPhone markasının tüm tanımlı özelliklerini String olarak belirli değerlerle atadık.
Aynı şeyi Samsung ve Nokia markası için de yapın.

Şimdi hemen pencerede bilgileri yazdırmak için DebugPrint'i kullanacağız . Bir kod satırında belirli bir değişkeni görmek istediğimiz yerde kullanışlıdır. Aşağıda gösterildiği gibi her Mobil marka için farklı özellikler seçeceğiz.

Şimdi Class'ta tanımladığımız MobileStarts ve MobileOff fonksiyonel işlemlerini, aynı modüldeki mobil markaların her birine Mesaj kutusu ile birlikte atayın . Mesaj kutusunu buradan atlayabilirsiniz.

Bu, Sınıfın Modüle atanmasını tamamlar. Şimdi kodu derleyin ve F5 tuşunu kullanarak çalıştırın. Her mobil markanın mesajını aşağıda gösterildiği gibi göreceğiz.

Now, if you want to know what variables and functions have what kind of values in it, for that open the Local window from the view tab, which will help us getting the details when we compile the code as shown below.

The below code is for your Reference.
Code:
Sub VBA_Class() Dim iPhone As Mobile Dim Samsung As Mobile Dim Nokia As Mobile Set iPhone = New Mobile With iPhone .Brand = "iPhone" .Model = "iPhone X" .ScreenSize = "6.5 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Regular" End With Set Samsung = New Mobile With Samsung .Brand = "Samsung" .Model = "Samsung S8" .ScreenSize = "5.8 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Set Nokia = New Mobile With Nokia .Brand = "Nokia" .Model = "Nokia 7+" .ScreenSize = "6 Inches" .CameraType = "12 MegaPixel" .ChargerType = "Power" End With Debug.Print "Phone Screen Size is: " & iPhone.ScreenSize Debug.Print "Camera of Samsung is: " & Samsung.CameraType Debug.Print "Charger Type is: " & Nokia.ChargerType iPhone.MobileStarts iPhone.MobileOff MsgBox iPhone.Model Samsung.MobileStarts Samsung.MobileOff MsgBox Samsung.Model Nokia.MobileStarts Nokia.MobileOff MsgBox Nokia.Model End Sub
Pros
- We can build our own application with a lot of features.
- Once Class is created, we can update any feature, anytime whenever we require.
- If we update the code, then also it won’t cause any problem in other parts of the Class.
- We can test the individual part of the application as per our needs.
Cons
- Initially, it takes a lot of time to create a class in VBA.
- People who are new to VBA will find the class very difficult to apply.
Things to Remember
- As the code can be huge and big, so it’s better to compile the code step-by-step. By doing this, we would avoid the N number of errors, which will be difficult for us to debug and resolve.
- We can ignore the use of Message Box if you are taking and testing the above-written code.
- Test etmek için, Sınıf oluştururken daha az teknik veya işlev kullanabilirsiniz. Bu, daha fazla ürün işlevi ve tekniği eklemek istediğimizde daha sonra değiştirilebilir.
- Sınıfı bitirdiğimizde ve onu bir Modüle atadığımızda daima benzer veya aynı özellikleri göz önünde bulundurun. Bu, farklı ürünlerin özelliklerini karşılaştırmamıza yardımcı olacaktır.