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ımlamaz sak 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’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 Son Sub
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
Veri Tipi | 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şaretle melisiniz.
1 yorum
Anonim · 19 Nisan 2019 10:23 tarihinde
ALLAH RAZI OLSUN HARİKA ANLATIM MÜKEMMEL BİLGİLER EMEĞİNİZE SAĞLIK .. TEŞEKÜRLER..