Excel Formül
Modül 2: VBA'nın Temelleri

Değişkenler (Variables) Nedir?

Yazılım dünyasının tartışmasız en önemli konusu değişkenlerdir. Değişkeni anlamadan gerçek bir makro yazmak mümkün değildir. Peki, nedir bu değişken?

Kutu ve Etiket Mantığı (En Basit Haliyle)

Bilgisayarınızın hafızasını (RAM) devasa bir depo olarak düşünün. Siz koda "Ahmet", 2500 veya "Satış İptal" gibi veriler verdiğinizde, bilgisayar bunları nerede saklayacağını bilemez.

İşte biz VBA'da Değişken (Kutu) oluşturarak bilgisayara şu emri veririz: "Bana depodan boş bir kutu getir. Kutunun üstüne MusteriAdi etiketini yapıştır. Ben bu kutunun içine şimdilik 'Ahmet' yazısını koyuyorum, lazım olunca bu kutuyu çağıracağım."

Dim Komutu (Kutuyu Talep Etmek)

VBA'da depo görevlisinden kutu istemenin kodu Dim (Dimension - Boyutlandır) kelimesidir. Kutu isterken içine ne koyacağımızı da söylemek zorundayız (Metin mi, Sayı mı?). Buna Veri Tipi denir.

  • Dim isim As String String: Sadece metin/yazı konulabilen kutu. (Örn: "Mustafa")
  • Dim yas As Integer Integer: Sadece tam sayı konulabilen kutu. (Örn: 45)
  • Dim tutar As Double Double: Kuruşlu/Ondalıklı sayı kutusu. (Örn: 145.50)
  • Dim evliMi As Boolean Boolean: Sadece Doğru (True) veya Yanlış (False) kutusu.

Neden kullanıyoruz? Diyelim ki KDV oranını kodun içinde 50 farklı yerde kullandınız (Örn: 0.18). KDV %20 olduğunda o 50 yeri tek tek bulup değiştirmeniz gerekir. Ama en başta Dim kdv As Double deyip kdv = 0.20 yapsaydınız, sadece bir satırı değiştirerek tüm programı güncelleyebilirdiniz.

Canlı Simülatör: Hafızada Fatura Hesabı

Aşağıdaki kodda önce kutular (değişkenler) oluşturuluyor, içlerine veriler konuyor ve bilgisayarın hafızasında bir çarpma işlemi yapılıyor. En son işlem bittikten sonra sonuçlar Excel hücrelerine aktarılıyor. Kodu Çalıştır butonuna basarak izleyin.

Visual Basic Editörü
Module1 (Code)
Sub FaturaHesapla()
    ' 1. ADIM: Kutuları Hazırla (Dim)
    Dim musteriAdi As String
    Dim adet As Integer
    Dim birimFiyat As Double
    Dim toplamTutar As Double

    ' 2. ADIM: Kutulara Veri Doldur
    musteriAdi = "Excel Formül A.Ş."
    adet = 3
    birimFiyat = 125.50

    ' 3. ADIM: Hafızada Hesaplama Yap
    toplamTutar = adet * birimFiyat

    ' 4. ADIM: Excel'e Yazdır
    Range("B1").Value = musteriAdi
    Range("B2").Value = adet
    Range("B3").Value = birimFiyat
    Range("B4").Value = toplamTutar
End Sub
Canlı Excel Sayfası
A1
A
B
1
Müşteri:
2
Adet:
3
Birim Fiyat:
4
Ara Toplam:
Microsoft Excel ✕
Değişkenler hafızaya alındı ve hesaplama tamamlandı!