TOP

VBA-Ders 6.1. Veri türleri (Variables)

Değişkenlerin yardımıyla sayılar, metin, tarih vb. gibi her türlü bilgiyi kaydedebiliriz.

Değişken (Variable), tek bir değeri depolamak için kullanılan adlandırılmış bir bellek alanıdır. Bir değişkenin değeri kod yürütme sırasında değiştirilebilir.

Bir değişken bildirdiğimizde (Dim talimatını kullanarak), hafızada belirli bir alan ayırır ve kolay referans olması için ona bir ad veririz.

Değişken adlandırma için temel kurallar aşağıda verilmiştir:

  • İlk karakter olarak bir harf kullanmalısınız;
  • İsim içerisinde boşluk, nokta (.), ünlem işareti (!) veya @, &, $, # sembollerini kullanamazsınız;
  • Ad 255 karakteri aşamaz;
  • Visual Basic ayrılmış anahtar sözcüklerini değişken adı olarak kullanamazsınız.

  • İlk örneği düşünün:

    Sub variables()
       'Değişkeni bir tamsayı olarak bildirin
       Dim my_variable As Integer
       'Değişkene belirli bir değer atadık
       my_variable = 12
       'Değişkenin değerini mesaj penceresinde görüntülüyoruz
       MsgBox my_variable
    End Sub
    

    Kodun ilk satırı bir değişken bildirir:

       Dim my_variable As Integer
    
  • Dim: değişken tanımı
  • my_variable: değişken adı
  • As: değişken türü tanımı
  • Integer: değişken türü
  • Genel olarak değişkenlerin bildirilmesi gerekli değildir ve kod çalışacaktır ancak şiddetle tavsiye edilir. Bu onlarla çalışmayı, onları bulmayı ve çeşitli sorunları çözmeyi kolaylaştırır. Prensip olarak değişkenleri bildirmek iyi bir programlama alışkanlığıdır.

    Bir değişkenin türü, içeriğinin doğasını (metin, sayı, tarih vb.) gösterir.

    İkinci şerit bir değişkene bir değer atar:

       my_variable = 12
    

    Ve son olarak üçüncü şerit, mesaj penceresinde değişkenin değerini görüntüler:

       MsgBox my_variable
    

    Kodu çalıştırmanın sonucu aşağıdaki gibi olacaktır:

    Değişken türleri

    İsim Tip Tanım Sembol
    Byte Sayısal 0 ile 255 arasında bir tam sayı
    Integer Sayısal -32'768 ile 32'767 arasında bir tam sayı %
    Long Sayısal - 2'147'483'648 ile 2'147'483'647 arasında bir tam sayı &
    Currency Sayısal -922'337'203'685'477.5808 ile 922'337'203'685'477.5807 arasında sabit ondalık sayı @
    Single Sayısal -3,402823E38 ile 3,402823E38 arasında kayan noktalı ondalık sayı !
    Double Sayısal -1,79769313486232D308 ile 1,79769313486232D308 arasında kayan noktalı ondalık sayı #
    String Metin Metin $
    Date Tarih Tarih ve saat
    Boolean Boolean Doğru (Evet) veya Yanlış (Hayır)
    Object Nesne Microsoft Object
    Variant Bir diğer Herhangi bir veri türü (değişken tanımlanmamışsa varsayılan tür)

    Farklı değişken türlerine sahip birkaç örneği ele alalım:

     'Tamsayı
     Dim nbInteger As Integer
     nbInteger = 12345
       
     'Ondalık sayı
     Dim nbComma As Single
     nbComma = 123.45
    
     'Metin
     Dim varText As String
     varText = "moonexcel.com.ua"
    
     'Tarih
     Dim varDate As Date
     varDate = "24.08.2012"
    
     'Boolean Doğru/Yanlış
     Dim varBoolean As Boolean
     varBoolean = True
       
     'Nesne (Değişken Türü Olarak Çalışma Sayfası)
     Dim varSheet As Worksheet
     Set varSheet = Sheets("Sheet2") 'Set => "object" türündeki bir değişkene değer atamak
       
     '"Nesne" türünde bir değişken kullanma örneği: bir sayfayı etkinleştirme
     varSheet.Activate
    

    Tabloda listelenen semboller daha kısa değişken bildirimleri için kullanılabilir:

     Dim example As Integer
     Dim example%
    

    Bu iki giriş aynıdır.

    Ayrıca modülün başına Option Explicit komutunu yazarak kullanıcıyı değişkenleri bildirmeye zorlayabilirsiniz. Bu durumda bildirilmemiş bir değişken girilmişse bir hata mesajı görünecektir.