Excel VBA’da Kullanılan Değişkenler, Veri Tipleri ve Sabitler(Değişmeyenler)

Bilgisayarda kullanılan hemen hemen tüm programlama dillerinde değişkenler kullanılmaktadır. Excel VBA (Visual Basic Application) da da aynı şekilde değişkenler kullanılmaktadır. VBA’nın adından anlaşılabileceği gibi Visual Basic programla dilinin bir uygulaması olmasından dolayı aynı tür değişkenlerin hepsini kullanabilmektedir. Ancak değişken tanımlama zorunluluğu yoktur.

Fakat bunun birkaç olumsuz yönü var. Bunların en önemlisi ise aslında biz bir değişken tanımlamazsak VBA kendi bir değişken tanımlamış oluyor ve bu değişkeni veri tipi genel olarak yani Variant olarak tanımlamasından dolayı en yüksek boyutta belirlemiş olur. Bu da programımızın kolayca şişmesine sebep olacağından yavaşlama ve kitlenmelere sebep olacaktır.

Elbette çok kısa kodlarda bunu anlamak imkansız ama oturup da ortaya gerçekten zaman harcanmış ve büyük bir program yapmış olursanız bunu bariz bir şekilde anlayacaksınız. Bir diğer olumsuz yönü ise hatalı işlem yapma olasılığımız daha çok çoğalacaktır. Yani kısaca değişkenler içeriğin niteliğini (metin, veri, sayılar, hücreler, sayfalar, vb…) programa anlatmamıza yardımcı olur.

Bu yazıda göreceklerimiz

VBA Değişkenleri

VBA Veri Türleri

VBA’da Sabitler(Değişmeyenler)

Excel VBA Değişkenleri

Değişkenleri Tanımlarken (İsimlendirirken) Bazı Kurallara Uymamız Gerekir. Bunlar;

  • 255 Karakterden fazla olamaz
  • Değişkende boşluk kullanılamaz
  • Değişkenler bir sayı ile veya özel karakter ile başlayamaz. Sadece harf ile başlayabilir.
  • Değişkenler kullanılan programdaki komutlarla aynı olamaz. Cells, Range, Wokbook,Worksheets vs…
  • Değişkenlerde sadece harf, sayı ve alt çizgi dışında karakter kullanılamaz.

Değişkenlerde Dikkat Edilmesi Gerekenler


Excel VBA’daki değişkenlerde Geçerli ve Geçersiz adlar için aşağıdaki örnekleri inceleyebilirsiniz.

Geçerli Değişkenlere ÖrneklerHatalı Değişkenlere Örnekler
Sayfa_ismiSayfa.ismi (Özel karakter olamaz)
SonSayfaSon Sayfa (Boşluk olamaz)
sayfa11_Sayfa (Rakamla başlamaz)

Değişkenleri tanımlarken VBA’de Dim ifadesi kullanılır. Ayrıca değişkenlerin her biri hafızamızda yer kaplamaktadır. Yukarıda belirttiğim gibi Değişkenleri tanımlamadan kullanacağımızda Dim ifadesine gerek yoktur.

Örneğin;

Tanımlamadan Kullanım

isim=Dilaver

rakam = 25

Tanımlayarak Kullanım

Dim isim As String ‘isim değişkenini metinsel ifade olarak tanımlamış olduk.

Dim rakam As Byte ‘rakam değişkenini 1 Byte’lık tamsayı olarak tanımlamış olduk.

Dim isim As String
Dim rakam As Byte
Sub deneme()
    rakam = 25
    isim = "Dilaver"
    MsgBox isim & rakam
Son Sub
Değişken

VBA Makro

Excel VBA Veri Türleri

Bilgisayar sayıları (1,2,3 ..) ve dizeler (a, b, c, ..) arasında fark gözetmez. Bu farklılaşmayı sağlamak için Veri Tiplerini kullanıyoruz.

VBA veri türleri iki türe ayrılabilir

Sayısal Veri Türleri

BahşişDepolamaDeğer aralığı
Bayt1 bayt0 ila 255
tamsayı2 bayt-32,768 ila 32,767
Uzun4 bayt-2,147,483,648 ila 2,147,483,648
Tek4 bayt-3.402823E + 38 ila -1.401298E-45 negatif değerler için 1.401298E-45 ila 3.402823E + 38 pozitif değerler için.
Çift8 bayt-1.79769313486232e + 308 ila -4.94065645841247E-324 negatif değerler için 4.94065645841247E-324 ila 1.79769313486232e + 308 pozitif değerler için.
Para birimi8 bayt-922,337,203,685,477,5808 Ila 922,337,203,685,477,5807
Ondalık12 baytOndalık değeri yoksa +/- 79,228,162,514,264,337,593,543,950,335 +/- 7.9228162514264337593543950335 (28 ondalık basamak)

 Sayısal Olmayan Veri Türleri  

Veri tipiBayt KullanılmışDeğer aralığı
String (Sabit uzunluk)Dize uzunluğu1 ila 65,400 karakter
String (Değişken Uzunluk)Uzunluk + 10 bayt0 ila 2 milyar karakter
Boole2 baytDoğru ya da yanlış
tarih8 bayt1 Ocak 100 – 31 Aralık 9999
Nesne4 baytGömülü herhangi bir nesne
Variant (sayısal)16 baytDouble kadar büyük herhangi bir değer
Variant (metin)Uzunluk + 22 baytDeğişken uzunlukta dizgiyle aynı

VBA’da, veri tipi belirtilmezse, değişkeni otomatik olarak bir Varyant olarak bildirir.

 VBA’da Sabitler (Değişmeyenler)

Sabitler bir değişken gibidir, ancak bunları değiştiremezsiniz. VBA’da bir sabit bildirmek için Const Kullanılır.

İki tür Sabit vardır,

  • Yerleşik veya içsel uygulama tarafından sağlanmıştır.
  • Sembolik veya kullanıcı tanımlı

Private ve Public. Bunlar Özel ve Genel kullanımlar içindir.

Örneğin,

Kamu Kurumu GunSaat = 24

Özel Const UykuSaati = 7

gibi…

Option Explicit (Zorunlu Değişken Seçme)

Eğer “Option Explicit On” yaparsanız Değişkenleri tanımlamadan kullanamazsınız. Buda sizin hata yapma veya unutma olasılığınızı azaltacaktır. Kapatmak için “Option Explicit Off” yazabilirsiniz. Excel açılır açılmaz gelmesi bu kodun “On” pozisyonunda gelmesi için VBA Editörü açıkken “Tools” menüsünden Options’u seçmeli ve Editör penceresinden “Require Variable Declaration” seçeneğini işaretlemelisiniz.



Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d blogcu bunu beğendi: