Excel VBA Integer, tam sayıları depolamak için kullanılan bir veri türüdür. 16 bitlik işaretli tam sayıları temsil eder, yani -32.768 ile 32.767 arasında değişen değerleri tutabilir. VBA Integer veri türü genellikle gerekli değer aralığı bu aralıkta olduğunda ve bellek verimliliği bir öncelik olduğunda kullanılır. VBA Integer kullanarak Çift Sayıların Toplamını hesaplamak için bir örneğe bakalım.
Bu örnekte, 1'den belirtilen bir üst sınıra kadar çift sayıların toplamını hesaplayan bir Excel VBA makrosu var.
Üç VBA Integer değişkeni bildiriyoruz: “limit”, “sum” ve “i.” “limit” değişkeni, toplam hesaplaması için dikkate almak istediğimiz sayıların üst sınırını tutar.

Makro, 1'den belirtilen sınıra kadar her sayıyı yinelemek için bir FOR döngüsü kullanır. Mevcut sayının çift olup olmadığını kontrol etmek için döngü içinde MOD operatörünü kullanırız. Mod operatörü bölümün kalanını hesaplar ve kalan 0 ise sayı çifttir. Sayı çiftse, onu "sum" değişkenine ekleriz.
Döngü tamamlandıktan sonra makro, 1'den belirtilen sınıra kadar çift sayıların toplamını içeren bir mesaj kutusu görüntüler.

- Excel VBA Tamsayı veri türü -32.768 ile 32.767 aralığındaki tam sayıları depolar.
- Tam sayı değişkenleri diğer sayısal veri türlerine göre daha az bellek tüketir ancak taşma hatalarını önlemek için değerler VBA Tam Sayı aralığına düştüğünde kullanılmalıdır.
- VBA Integer ile diğer veri tipleri arasında dönüşüm, CInt (Variant to Integer) ve CStr (Integer to String) gibi fonksiyonlar kullanılarak gerçekleştirilebilir.
- VBA Integer veri tipinin sınırlamaları konusunda dikkatli olun ve VBA'da daha geniş bir değer aralığı için Long kullanmayı düşünün.
VBA'da Tamsayı Veri Türü Nedir?
VBA Integer veri türü, VBA dahil olmak üzere programlama dillerinde temeldir. Kesirli kısımları olmayan tam sayıları depolamak için kullanılır. VBA'da, bir Integer değişkeni 2 bayt bellek kaplar ve -32.768 ile 32.767 arasındaki değerleri depolayabilir.
VBA Integer değişkenleri, 4 bayt kullanan Long gibi diğer sayısal veri türlerinden daha az tükettikleri için bellek verimliliğinin kritik olduğu durumlarda faydalıdır. Ancak, taşma hatalarına yol açabilecek aralığını aşabilecek değerler için VBA Integer kullanmamaya dikkat edilmelidir.
Örnekler
VBA Integer fonksiyonunun kullanımına dair basit örneklere bakalım.
Örnek 1 – Basit Tamsayı Değişkeni
Bu örnekte, 1'den belirtilen bir üst sınıra kadar olan çift sayıların toplamını hesaplamak için Excel VBA'yı kullanacağız.
Makro, VBA'da Integer veri türünü ve bir FOR döngüsünü kullanarak çift sayıları etkili bir şekilde tanımlar. Sonuç, belirtilen VBA Integer aralığındaki çift sayıların toplamını sağlayan bir ileti kutusunda görüntülenir.
Adım 1: Excel çalışma kitabınızı açın ve “Alt + F11” tuşlarına basarak VBA düzenleyicisine erişin.

Adım 2: VBE’de menü çubuğunda “Ekle”ye tıklayın ve “Modül”ü seçin. Bu, projeye yeni bir modül ekleyecektir.

Adım 3: Yeni modülde, öncelikle “ExampleIntegerVariable” adında bir alt rutin oluşturarak başlayın.

Adım 4: Bu adımda Dim ifadesini kullanarak “myNumber” adında bir değişken tanımlıyoruz ve bu değişkenin tam sayıları depolamak için kullanılan Integer veri tipinde olacağını belirtiyoruz.

Adım 5: Burada “myNumber” değişkeninin değerini 100 olarak belirliyoruz.

Adım 6: Daha sonra “myNumber” değerini bir mesaj kutusunda görüntüleriz.
Bu satır, “myNumber değeri: ” metnini “myNumber” değişkeninde depolanan değerle birleştiren bir ileti kutusu görüntülemek için MsgBox işlevini kullanır. & sembolü VBA'da birleştirme için kullanılır .

Adım 7: Şimdi modülü kaydedin ve VBE'den çıkın. Şimdi Makro menüsünü açmak için Alt + F8'e basın, “ExampleIntegerVariable”ı seçin ve Çalıştır'a tıklayın.

Adım 8: Kodu çalıştırdığınızda bir mesaj kutusu göreceksiniz.

İşte kodun tamamı:
Sub ÖrnekIntegerVariable()
Dim myNumber As Integer
myNumber = 100
MsgBox “myNumber'ın değeri: ” & myNumber
End Sub
Örnek 2 – Tamsayı ile Döngü
Bu VBA Integer örneğinde, 1'den 5'e kadar yinelemek için bir For döngüsü ve bir Integer değişkeni "i" kullanıyoruz. Makro, her yineleme numarasını "Debug.Print " kullanarak Anlık Pencereye yazdırır .
Adım 1: Yeni modülde, “ ExampleLoopWithInteger” adında bir alt rutin oluşturarak başlayın.

Adım 2: Bu adımda, Dim ifadesini kullanarak “i” adında bir değişken bildiriyoruz ve bunun Integer veri türünde olacağını belirtiyoruz. Bu değişken bir döngü sayacı olarak işlev görecektir.

Adım 3: Burada, For döngüsünü ve To anahtar sözcüğünü kullanarak 1'den 5'e kadar yinelemeli bir döngü başlatın.
For döngüsü burada başlatılır, "i" 1'den başlar ve 5'e ulaşana kadar her yinelemede çalışır. To anahtar sözcüğü, döngü için yineleme aralığını tanımlar.

Adım 4: Sonra, Debug.Print kullanarak geçerli yineleme numarasını Hemen Penceresine yazdırırız.
Döngü içerisinde, Debug.Print ifadesini kullanarak “İterasyon: ” metnini “i”nin geçerli değeriyle birleştirerek Immediate Window'a yazdırırız. & sembolü VBA'da birleştirme için kullanılır.

Adım 5: “i” değeri 5’e ulaşana kadar döngüyü tekrarlayın.
Next i ifadesi döngünün sonunu belirtir. Döngünün, "i" değeri 5'e ulaşana kadar tekrarlanmasına neden olur, bu noktada sonlanır.

Adım 6: Şimdi modülü kaydedin ve VBE'den çıkın. Makro menüsünü açmak için Alt + F8 tuşlarına basın ve “ExampleLoopWithInteger”ı seçin ve Çalıştır'a tıklayın.

Adım 7: Kodu çalıştırdığınızda, hemen açılan pencerede yinelemeleri göreceksiniz.

İşte kodun tamamı:
Sub ÖrnekLoopWithInteger()
Dim i As Integer
For i = 1 To 5
Debug.Print “Iteration: ” & i
Sonraki i
End Sub
Örnek 3 – Variant'ı Tam Sayıya Dönüştürme
Bu VBA Integer örneği, Variant ve Integer kullanarak veri türleri arasındaki dönüşümü gösterecektir. Burada, Variant değişkeni "myVariant"a 50 değerini atıyoruz ve ardından Cint işlevini kullanarak bunu bir Integer'a dönüştürüyoruz.
Adım 1: Yeni modülde, “ExampleVariantToInteger” adında yeni bir alt rutin oluşturarak başlayın.

Adım 2: Dim ifadesini kullanarak “myVariant” adlı bir değişken bildiririz ve bunun Variant veri türünde olacağını belirtiriz. Variant veri türü farklı veri türlerinin değerlerini depolayabilir.

Adım 3: Bu adımda, Dim ifadesini kullanarak “myInteger” adında başka bir değişken bildiriyoruz ve bunun Integer veri türünde olacağını belirtiyoruz. Bu değişken dönüştürülen değeri depolayacaktır.

Adım 4: Daha sonra “myVariant” değişkenine atama operatörü “=” kullanarak 50 değerini atıyoruz.

Adım 5: “myVariant” (Varyant) değerini “myInteger” (Tamsayı) değerine dönüştürmek için CInt fonksiyonunu kullanın.
Bu satır, “myVariant”ta (bir Variant) depolanan değeri Integer veri türüne dönüştürmek için CInt işlevini kullanır. Dönüştürülen değer daha sonra “myInteger” değişkenine atanır.

Adım 6: Son olarak, “myInteger değeri: ” metnini “myInteger” değişkeninde depolanan değerle birleştiren bir mesaj kutusu görüntülemek için MsgBox işlevini kullanırız. & sembolü VBA'da birleştirme için kullanılır.

Adım 7: Şimdi modülü kaydedin ve VBE'den çıkın. Makro menüsünü açmak için Alt + F8 tuşlarına basın, “ExampleVariantToInteger” öğesini seçin ve Çalıştır'a tıklayın.

Adım 8: Makroyu çalıştırdığınızda, “myinteger değeri: 50” ifadesinin bulunduğu bir ileti kutusu göreceksiniz.

İşte kodun tamamı:
Sub ÖrnekVariantToInteger()
Dim myVariant As Variant
myVariant = 50
Dim myInteger As Integer
myInteger = CInt(myVariant)
MsgBox “myInteger değeri: ” & myInteger
End Sub
Excel VBA'da Tamsayı Veri Türünün Sınırlamaları
VBA Integer veri tipinin bilinmesi gereken bazı sınırlamaları vardır:
- Bir Integer değişkeninde saklanan VBA Integer değer aralığı -32.768 ile 32.767 arasındadır. Bu aralığın dışındaki değerler taşma hatalarına neden olur.
- VBA Integers ile hesaplamalar yaparken, özellikle büyük sayılarla çalışırken olası taşma hatalarına karşı dikkatli olun.
Dikkat Edilmesi Gereken Önemli Noktalar
- Integer veri türü bellek tasarrufu sağlarken, aralık sınırlamalarına dikkat edin. Daha büyük değerler veya ondalıklar bekliyorsanız, Long veya Double gibi diğer veri türlerini kullanmayı düşünün.
- VBA Integer sınırı aralığıyla tanımlanır. VBA Integer Max değeri 32.767 ve Min değeri -32.768'dir.
- Bir ileti kutusunda bir Integer değerini görüntülemek için, MsgBox kullanarak bunu bir String ile birleştirebilirsiniz. Örneğin, MsgBox “The value is: ” & “myinteger.” Değerlerin Integer aralığını aşma olasılığı varsa, daha geniş bir değer aralığını işleyebilen Long kullanmayı düşünün.
