Vba Değişkenler Ve Veri Tipleri-I


DATATYPES

Programlamaya girişte en temel konulardan bir tanesi değişkenler ve yapılarıdır. Bu bölümde değişkenleri ve veri tiplerini tanımaya ve doğru kullanımlarını anlamaya çalışacağız. Önemli kısımları küçük notlar ile belirtmeye çalıştım a kısımları da anlamadan geçmemeye çalışınız.

Öncelikle VBA da kullanılan veri tipleri ve özelliklerinden bahsedelim:

1.byte: (tamsayı) 0 – 255 arasındaki değerleri alır. 1 byte yer kaplar.
2.integer: (tam sayı) -32.768  32.678 arasındaki tam sayı değerlerini alır. 2 byte yer kaplar.


Sub degisken()

Dim i As Integer  

i = 25550

MsgBox i

End Sub

 

integer
NOT : % işareti integer i temsil eder. Tanımlama yaparken “as integer” yerine % işareti kullanılabilir. 

Dikkat: Değer aralıkları dışında bir sayı girilirse overflow hatası alınır.

overflow
interger degiskeni max 32.678 degerini alir.

Tamsayı yerine ondalıklı sayı girdiğimizde ne ile karşılarız?

Bu tip durumlarda verilen sayı değişkenin sayı aralığındaysa komut hata vermez ancak sayıyı yuvarlar.


Sub degisken()

Dim i As Byte

Dim z As Byte

i = 122.8

MsgBox "i=" & i

z=122.3

MsgBox "z=" & z

End Sub

integer
122.8’i yukari yuvarladi

 

integer2
122.3’u asagiya yuvarladi

3.long: (tam sayı) -2.147.486.648  &  2.147.486.648 arasındaki tam sayı değerlerini alır. 4 byte yer kaplar.

4.Double: (rasyonel sayılar) En büyük sayısal değerleri içerir. 16 haneye kadar hassastır. 8 byte alan kaplar. # işareti ile belirtilir.

Not: Dim i as Double yerine Dim i# şeklinde kullanılabilir.

5.Currency: Parasal değerleri taşır. Virgülden önce 15 ondalık sonrası 4 haneye duyarlıdır. Ondalık kısmın çok hassas olmadığı durumlarda kullanılır. 4 haneden fazla ondalık girilirse yuvarlar. 8 byte alan kaplar. @ işareti ile belirtilir.

6.Boolean: True ve False değerleri alır. Sayısal olarak da ifade edilir. Değer 0 girilirse “False” algılar, diğer rakamları “True” olarak alır.


Sub degisken()

Dim medenidurum As Boolean

medenidurum = True

MsgBox medenidurum

End Sub

boolean


Sub degisken()

Dim medenidurum As Boolean

medenidurum = 0

MsgBox medenidurum

End Sub

boolean2


Sub degisken()

Dim medenidurum As Boolean

medenidurum = 50

MsgBox medenidurum

End Sub

boolean
7.Date: Tarih türündeki değişkenler atanır. 01.01.100 – 12.31.9999 arası değerleri alır. Tarih değeri çift tırnak içinde verilir. 8 byte alan kaplar.


Sub degisken()

Dim dogumtarihim As Date

dogumtarihim = "28.05.1986"

MsgBox dogumtarihim

End Sub

date
8.String: (metin) en çok kullanılacak diğer bir değişken tipidir. Metin türünde veri tutar. $ işareti ile belirtilir.


Sub degisken()

Dim site As String

site = "https://excelyardim.wordpress com"

MsgBox site

End Sub

string

9.Object: nesne tipi değişken tanımlanır. 4 byte yer kaplar.

10.Variant: Yukarıda bahsedilen türlerin hepsini barındırır. tipini ileride tanımlayacağımız değişkenler için kullanılır. 16 byte dan fazla yer tutar.

ÖNEMLİ: Değişken tanımlarken bir tip belirtmezseniz default olarak bu değişken variant olarak tanımlanır. Bu da hafıza da gereğinden fazla yer tutulmasına neden olur. Bunu önlemek ve tüm değişkenlere tip atanmasını mecburi kılmak için Option Explicit ifadesi kullanılır.


Sub degisken()

i = 14

MsgBox i

End Sub

Yukarıdaki  i nin tipi tanımlanmadığımiz için variant olarak algıladi ve bu ifade hata vermeden çalışti.

option

Option Explicit ifadesinden sonra aynı kodu yazdığımda “variable not defined” uyarısını alırız.

optionexplicit

DEFAULT DEĞERLER

Tanımlanan değişken numeric ise ve değer atanmamışsa default olarak 0 (sıfır) değerini alır, string ise “”, boolean ise  default “False” değerini alır.


Sub default()

Dim i As Integer

MsgBox i

End Sub

DEFAULT


Sub default()

Dim i As String

MsgBox i

End Sub

 

default2


Sub default()

Dim i As Boolean

MsgBox i

End Sub


 

default3

Değişkenleri isimlendirmek

Değişkenlere isim verilirken

  • ilk karakter mutlaka harf ile başlamalı
  • Geri kalan kısımlar harf, rakam ve alt çizgiden oluşabilir.
  • Karakter olarak yalnızca alt çizgi kullanılabilir.

doğru:

  • ad
  • ad_soyad
  • yıl2012

yanlış:

  • *ad
  • 2012yıl
  • ad&soyad
Reklamlar

Vba Değişkenler Ve Veri Tipleri-I” üzerine 4 yorum

  1. Hocam merhaba.İndisli değişken ile bir çalışma yaptım fakat bir yerde sorun yaşıyorum.ay2009,ay2010 gibi indisli değişkenlerim var.Örneğin ay2009(1) 2009 yılının Ocak ayı değerini ifade ediyor.Bunları döngü içinde işleme sokmak istiyorum. ay & “z” & (x) gibi bir ifade kullandım.x ve z değişken istediğim şey ise x döngü içinde değerler aldıkça ve z yılına ait değer hangi yılsa ay değişkenini işleme sokması.Örneğin z=2017 ve x=1 için ay2017(1) değişkenini işleme sokması fakat bana verdiği değer ay2017(1) değil sadece 20171 yani kaynaştırıyor.Yukarıdaki ifadenin indisli değişkeni temsil etmesini nasıl sağlayabilirim?

  2. Hocam emeğinize sağlık, her paylaşımınızı takip ediyorum.

    Çok faydalı bir excel yardım sitesi.

    Teşekkürler.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s