Genel

Excel Değişken Veri Tipleri | Variables


Excel VBA |Dim Nedir ve Nerede Kullanılır?

Dim komutu İngilizceden gelen Dimension kelimesinin kısaltmasıdır. Dimension kelimesi Türkçe’de Boyut, Ebat anlamına gelir. Visual Basic Editör içerisinde Dimension komutu değişken değerler tanımlanırken kullanılır. Gelin bu konu hakkında biraz inceleme yapalım. 

Güçlü programlama dillerinin çoğunda kullanılan değişken adı altında bir yapı mevcuttur. Nedir bu herkesin değişken olarak tabir ettiğimiz yorum açıklayalım.

Değişken : Adı üstüne sık sık değişebilme özelliğine sahip, değişebilir olan, içeriği kullanılabilir veya yordamı daha sonra değiştirilebilir değerleri kapsar. Visual Basic Editör’de bu yapıyı kullanarak makro kodları yazılır. Programlamaya giriş konularından birisidir.

Excel'de Makro oluştururken Değişken zorunlu mudur?
İşin aslında makro oluştururken yazılan kodlamalarda değişken tanımlama zorunluluğu yoktur. Bu makalede anlatacağım değişken tanımlamaları programın veya Excel’deki işlemlerin hızı açısından önem sağlar.

VBA sizin tanımladığınız değişkenler için hafızadan ihtiyaç olduğu kadar yer ayırır. Tanımlanmayan değişkenler uzun makro kodları oluşturmanıza ihtiyaç duyar ve hafızanın şişmesine sebep olur.

Örneğin 1+1+1+1+1+1+1+1 işlemini yapmak için on satır kod oluşturmak yerine değişken değeri 1 şeklinde belirtip tek satırda kod yazmanızı sağlayabilir. Buna benzer tanımlanmayan değişkenler hafızayı fazlasıyla yorarlar. Bu yorgunluk büyük komutlu oluşturulan programlarda kendini hissettirecektir.

Adım adım ilerliyoruz umarım anlaşılır gidiyordur… (Detaylı anlatıma başlamadan aşağıdaki iki paragrafı okumanız 1dk. sürecektir.)

Öncelikle bu konu Visual Basic Editör kullanımı ile Excel’de Makro Oluşturmak gibi temel bilgilere ihtiyaç duyar. Zihnimizin köşesinde yani altyapımızda bu verilerin olması gerekir. Excel’de makro Oluşturmak aslında kolay gibi düşünülen zor aşamadır. Bilenler anlatırken küçük ayrıntılara önem vermez veya unuturlar. Dolayısıyla Excel’ de makro konularına yeni başlayan kullanıcılar için anlatılan her şey karışık gelebilir. Sizden tek adımda her şeyi anlamanız beklenir ama konular içerisinde, anlatılan dökümanlarda bu konunun ne işe yaradığı ve neden & sonuç ilişkisini kafamızda oluşturamadığımız zaman emekler boşa gidebiliyor.

Çok fazla dağıtmadan konumuza geri dönelim. İlk önce Excel’de neden makro oluşturmak gerekir konusunu yukarıda verdiğim linkten inceleyebilirsiniz. Bu aşamayı geçiyorum. Neden & Sonuç ilişkisine değinmek gerekirse; makroyu oluşturmak Excel’de yaptığımız işleri hızlandırır; işleri hızlandırmak istiyorsanız temel yapı kuralı olan Değişken yapısını öğrenmek zorundayız. Sonuç kısmını makalenin son paragrafında analiz edebiliriz 🙂

Şimdi gelelim Excel VBA içerisinde ” Dim & Dimension ” değişkeni nasıl kullanılır detaylarına…


Excel Makro VBA | Değişken Veri Tipleri | Variables ;

Excel VBA’da kullanılan veri tipleri ve özelliklerini sırayla değerlendirelim, sizler için aşağıdaki linkten indirebileceğiniz şekilde veri tiplerini içeren bir tablo oluşturdum.

Evet bu kadar anlattık, detayları inceledik saadete gelelim diyorsanız doğru noktadasınız 🙂

Visual Basic Editor‘de değişken veri tipi kullanmak için aşağıdaki şekilde tanım yapılır:

Dim Degisken_Adi As Degisken_Tipi  

Sırayla tüm değişken tiplerini açıklaya açıklaya kullanalım…

  1. Date : Tarih : 8 Byte : Excel Değişken Veri Tipi Aralık : (01.01.100 & 31.12.9999)

Makro kodlaması oluştururken Tarih türündeki değişkenleri atama yapmak için kullanılır. Belirtilen tarih aralığındaki tüm değerleri kapsayabilir. Tarih değeri çift tırnak içerisinde yazılır. Örnek kod yazalım:

Sub Excel_Deneme()
Dim Variables As Date
Variables = "19.12.2017"
MsgBox Variables
End Sub

İlk kod olduğu için ne yaptığımızı ve ne işe yaradığını anlatmak istiyorum.

  • Yukarıdaki kod kısmında “MsgBox Variables” yazan kısım, makro kodunu çalıştırdığınız zaman size mesaj kutusu içerisinde Variables değerinin yazmasını sağlar.
  • Fakat bizim anlatmak istediğimiz konu mesaj kutusunda Variables yazmak değil! Variables kelimesini tarih değişkeni olduğunu belirtmek. Bunu (Dim Variables As Date) komutu ile belirtiyoruz. Artık Variables kelimesi normal bir değer olmaktan çıktı ve Değişken veri tipi tarih formatına dönüştü.
  • Şimdi ise Variables değişkenine değer veriyoruz. Yani Variables değişkeni kodlama içerisinde belirteceğiniz bir tarihin lakabı gibi olur. Kod içerisine tarih formatında yazmak yerine Variables yazarsınız ve başta belirlenen tarihi size sonuç şeklinde getirir. Bunu örnekte şu şekilde yapıyoruz (Variables = “19.12.2017”)
  • Son hamle Variables değişkenini nerede kullanmak istediğimizi belirtelim. En basit örnek mesaj kutusu kullanmaktır. Bunun için (MsgBox Variables) yazıyoruz ve sonuç soldaki örnek resimdedir.

     2. Integer : Tam Sayı : 2 Byte : Excel Değişken Veri Tipi Aralık : (-32.768 & 32.768)

İlk örneği az çok anladığımıza göre benzer şekilde uygulayalım. Integer değeri tam sayı değerlerini içeren değişkenlerde kullanılır. Aynı mantıkla makro kodları oluşturmak istiyorum.

Sub Excel_Deneme()
Dim i As Integer
i = 2017
MsgBox i
End Sub
  • Aynı konuyu farklı bakış açısıyla anlatmayı deneyelim;
  • Örnek makro kodlarında ilk önce i değerinin Integer değişkeni olduğunu belirttim. Yani i değeri aslında tam sayı. (Dim i As Integer)
  • Daha sonra i değerine yeni tam sayı ataması yaptım. (i = 2017)
  • Son görünüşte (MsgBox i) komutunu yazdım. Mesaj kutusu ile i değişkeninde yazan değeri getirdi. (Bkz.Örnek Resim)


3. Long : Tam Sayı : 4 Byte : Excel Değişken Veri Tipi Aralık : (-2.147,483,648 & 2.147,483,648 )

Yukarıdaki değişken kodlarının birebir aynısı, tam sayı değer aralığı daha uzun olanı.


4. Double : Rasyonel Sayı : 8 Byte : Excel Değişken Veri Tipi Aralık : (Virgülden sonra 16 karaktere kadar duyarlıdır.)

Yukarıdaki değişken kodlarının birebir aynısı, en büyük sayısal değerleri içerir. Kullanım şekli (Dim i As Double) ya da (Dim i#) şeklinde yazılabilir.


5. Currency : Rasyonel Sayı : 8 Byte : Excel Değişken Veri Tipi Aralık : (Ondalık değer öncesinde 15, sonrasında 4 karaktere kadar duyarlıdır.)

Yukarıdaki değişken kodlarının aynı mantığında çalışır ve Parasal değerleri çalıştırır. @ işareti ile belirtilebilir.


6. String : Metin : – : Excel Değişken Veri Tipi Aralık : ()

Burada değişken tipleri metin formatıyla tanımlanır. En aktif kullanılan değişken tipidir. Metin türündeki veri tiplerini kapsar. $ işareti ile belirtilebilir. 

Sub Excel_Deneme()
Dim Deneme As String
Deneme = "Excel Makro VBA | Değişken Veri Tipleri | Variables"
MsgBox Deneme
End Sub
Değişken metin değerini belirtirken “” Tırnak işaretleri içerisine almayı unutmayın.

7. Object : Nesne : 4 Byte : Excel Değişken Veri Tipi Aralık : ()

Nesne veri tipindeki değerler için kullanılır.


8. Boolean : Mantıksal : 2 Byte : Excel Değişken Veri Tipi Aralık : (True / False)

Buradaki veri tipi doğru ve yanlış olarak nitelendirdiğimiz değişken değerler için kullanılır. True ve False değerlerini alır. Değer sıfır olarak girilirse “False” algılar. Diğer tüm sayılarda “True” olarak algılar. Örnekleyelim; 

Sub Excel_Deneme()
Dim Mutlu As Boolean
Mutlu = True
MsgBox Mutlu
End Sub

9. Byte : Tam Sayı : 1 Byte : Excel Değişken Veri Tipi Aralık : (0 – 255)

En kolay olanı budur  🙂 0 ila 255 arasındaki sayı değerlerini kapsıyor, dolayısı ile en düşük yer kaplayan değişkendir. Sadece 1 Byte 🙂


10. Variant : Herhangi bir değer : 16 Byte ve üstü : Excel Değişken Veri Tipi Aralık : (+1 Byte her karakter için)

İlk dokuz maddede incelediğim tüm değişkenleri barındıran veri tipidir. Makro kodlarını oluştururken veri tipini ilerideki aşamada oluşturacağımız zaman kullanılır.

Herhangi bir değişken tanımlayacağınız zaman, veri tipi belirtmezseniz, varsayılan değişken Variant olarak algılanır. Çok mu zararlı ? Gelişmiş programlarda Evet, veri tipi oluşturmadığınızda gereğinden fazla yer kaplayacak kodlamalar oluşturmanıza sebebiyet verir. Peki ne yapmalı ? Bu sorunu önlemek adına Option Explicit ifadesini kullanırız. 

Sub Excel_Test()
i = 1
MsgBox i
End Sub

Yukarıdaki örnek kodlamada, i değeri için değişken tanımlanmadığını görüyoruz. Sorun yok makro kodumuz yine de çalıştı. Bu değeri Variant olarak algıladı ve çalışmasına izin verdi.


Unutmadan belirtmek istiyorum;

Değişkenlere örnek olarak, mutlu, variables, deneme gibi değerleri kullandım. Bunun da kuralı var:

  • ilk karakter harf ile başlamalı,
  • iki kelime kullanmak isterseniz alt çizgi ile bağdaştırmalısınız. (Cizgi_Akademi)

Excel VBA içerisinde değişken veri tiplerini detaylıca inceledik. Makro konusu kafaları karıştırabilir fakat neyi istediğinize odaklanırsanız, ihtiyaca yönelik kodlar oluşturarak öğrenmeye çalışabilirsiniz. Sorularınız için yorum sayfasını kullanmaktan çekinmeyin, örnek dosya talep eden olursa yardımcı olabilirim.

Saygılar…

What Is Dim And Why Do People Use It?

Bu konuda Excel Değişken Veri Tipleri Tanımlama, Makro VBA konularını inceleme yaptık.

Excel değişken tanımlama,

Excel değişken atama,

Excel değişken sabitleme,

Excel değişken saydırma, 

Excel Variables,

Excel değişken tipleri,

Boolean,Byte,Currency,Date,Double,Integer,Long,Object,String,Variables,Variant,Excel VBA,Makro,Değişken Veri Tipi,Excel Değişken Tanımlama


This Post Has 3 Comments

  1. hülya Cankat Reply

    değişkenkler tüm programlama dillerinin yapı taşlarıdır. excel makroları VB programlama diliyle kodlanır. Zorunlu olmasa da değişkenlere mutlaka ihtiyac olur.

  2. Kaan YAVUZ Reply

    CS-121 için bir kaynak ararken karşılaştım ama siteden hiç de çıkmama gerek kalmadan tüm ihtiyaçlarımı karşıladım, excel’de Makro oluştururken Değişken kullanımından veri tiplerinin kullanımına kadar.

  3. Hakan Söylemez Reply

    Excel yine beni şaşırttı. Oldukça yetenekli bir program olduğu söyleniyordu ancak bir yazılım dilindeki gibi değişkenler tutup bunlarla işlemler yapılabildiğini bilmiyordum. Üstelik dim ifadesi ile tüm değişken türlerinin tutulabilmesi de program düzeni açısından bence gayet güzel olmuş.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir