Makale Enum - Enumeration (Numaralandırma)

Bu Makale Yararlı Oldu mu?

  • Evet

  • Hayır


Sonuçlar yalnızca oylamadan sonra görülebilir.

Murat OSMA

Yönetici
Site Yöneticisi
Katılım
25 May 2018
Mesajlar
1,316
En iyi yanıt
11
Puanları
113
Konum
İstanbul
Web sitesi
excelarsivi.com
Ad Soyad
Murat OSMA
Office Versiyon
Office 365 TR+EN
Numaralandırmalar genellikle liste kolaylaştırmak için tek bir nesne içinde belirli değişken varyasyonları listelemek için çeşitli dillerde kullanılır.
Enum, yaygın olarak Prosedür veya Function giriş argümanı olarak ve Class Module Propertyde kullanılmakta.
Tek bir nesne içine sabitler topluluğu gruplayarak kafanızdaki karmaşaları ortadan kaldırabilirsiniz.

Neden Enum Kullanmak İsteriz?
Çoğu zaman Enum kullanmadan da kodlarımızı yazabiliriz ama unutmayın ki Enum'da olukça yararlıdır!
Uygulamanızın, hatalar veya uyarılar gibi birden çok durum iletisi numarası atayabileceğinizi hayal edin.
C# veya Java gibi birçok programlama dilinde bunları ayrı kaynak dosyalarında tutabilirsiniz.
VBA'da bu şekilde değil ama bu iletileri gruplandırmanın yolu sabitler ve enum oluşturmaktır.:

Sabitler ile Enum listesi örneği;
PHP:
Const hosgeldin = 1
Const hata = 2
Const dikkat = 3

Sub Prosedur()
    MsgBox "Mesaj Numarası: " & hata, vbInformation, "Www.ExcelTurkey.Com"
End Sub

F2'ye basıp Kütüphane içerisinde oluşturduğunuz sabit Enum'ları bu şekilde görebilirsiniz..

sabitenum-min.png


Bu şekilde Const [SUP]sabit [/SUP]kullanmadan direk olarak Enum ile Mesaj isimli sınıfınızı ve üyelerini oluşturabilirsiniz.
PHP:
Enum Mesaj
  hosgeldin = 1
  hata = 2
  dikkat = 3
End Enum

Sub Prosedür()
    MsgBox "Mesaj Numaranız: " & Mesaj.hosgeldin
End Sub

Şimdi editör içinde ya da prosedürün herhangi bir yerinde Mesaj yazıp noktaya bastığınızda, Mesaj sınıfı için tanımladığınız/belirttiğiniz üyeler/elemanlar listesi karşınıza gelecektir. Aşağıdaki resim bunu görebilirsiniz. Her bir üyenin hangi numara ile ifade edildiğini belirtmiştik, sonuç olarak karşımıza o numara gelecektir.

enum-min.png

Son bir örnek daha verelim..
Renklerle ilgili bir Enum sınıf oluşturalım ve bunu prosedürde kullanalım.
PHP:
Enum Renkler
    Kirmizi = 3
    Yesil = 4
    Mavi = 5
    Sari = 6
End Enum

Sub Prosedür()
    Range("A1").Interior.ColorIndex = Renkler.Kirmizi
End Sub

Renkler sınıfını yazıp noktaya bastığınızda, yine sabit olarak belirttiğiniz renkler listesi karşınıza gelecektir. Bu listeden seçilen sabitin karşılığında belirttiğimiz rakam ne ise, A1 hücresinin arka plan dolgu rengi de o sayı ile belirtilen sabit renge boyanacaktır. Herhangi birini seçip prosedürü çalıştırabilirsiniz.

enumrenk-min.png
 
Son düzenleme:

ozkansabanci

Excel VBA Developer
Uzman
Katılım
28 May 2018
Mesajlar
221
En iyi yanıt
7
Puanları
28
Yaş
35
Konum
İstanbul
Web sitesi
analistadam.com
Ad Soyad
Özkan Sabancı
Office Versiyon
Microsoft 365 Apps for enterprise TR
Çok iyi bir bilgi. Teşekkür ederiz paylaştığınız için..
 
Üst Alt