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 Örnekler Hatalı Değişkenlere Örnekler
Sayfa_ismi Sayfa.ismi (Özel karakter olamaz)
SonSayfa Son Sayfa (Boşluk olamaz)
Sayfa1 1_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
End 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

Tip Depolama Değer aralığı
Byte 1 bayt 0 ila 255
Integer 2 bayt -32,768 ila 32,767
Long 4 bayt -2,147,483,648 ila 2,147,483,648
Single 4 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.
Double 8 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.
Currency 8 bayt -922,337,203,685,477,5808 ila 922,337,203,685,477,5807
Decimal 12 bayt Ondalı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 tipi Bayt Kullanılmış Değer aralığı
String (Sabit uzunluk) Dize uzunluğu 1 ila 65,400 karakter
String (Değişken Uzunluk) Uzunluk + 10 bayt 0 ila 2 milyar karakter
Boolean 2 bayt Doğru ya da yanlış
Date 8 bayt 1 Ocak 100 – 31 Aralık 9999
Object 4 bayt Gömülü herhangi bir nesne
Variant (sayısal) 16 bayt Double kadar büyük herhangi bir değer
Variant (metin) Uzunluk + 22 bayt Değ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,

Public Const GunSaat = 24

Private 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.


Kategoriler: Office Programları

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: