VBA'da (Uygulamalar için Visual Basic), Uzun Veri Türü -2.147.483.648 ile 2.147.483.647 arasındaki tam sayı değerlerini depolamak için kullanılan sayısal bir veri türüdür. 32 bitlik işaretli bir tam sayı veri türüdür, yani bu aralıktaki hem pozitif hem de negatif tam sayıları depolayabilir.
Aşağıdaki örneği ele alalım:

Yukarıdaki alt yordamda, bir VBA Long Integer başlatın ve büyük bir değer atayın. Ardından, değeri yazdırın. Çıktı, aşağıda gösterildiği gibi anında sekmede yazdırılır.

Değer, Long veri tipinde değişkene başarıyla kaydedildi ve yazdırıldı.
NOT: Daha önce de belirtildiği gibi, VBA Uzun Maksimum Değeri -2.147.483.648 ile 2.147.483.647 arasında değişir. Bu değerlerden büyük herhangi bir değer hata verecektir.
ÖNEMLİ NOKTALAR
- VBA'nın Long veri türü, belirli bir aralıktaki tam sayıları depolamak için tasarlanmıştır. Kapsamlı aralığı nedeniyle çoğu tam sayı tabanlı hesaplama için oldukça uygundur.
- VBA Long değerlerini dizelere dönüştürmek için genellikle CStr fonksiyonu kullanılır.
- Long, özellikle tam sayılarla çalışırken Double veri türüyle karşılaştırıldığında bellek açısından daha verimlidir.
- Ancak, ondalık veya kayan nokta sayıları ve daha geniş sayısal kapsamlarla uğraşırken Double tercih edilen seçenektir.
- Çok büyük tam sayılarda veya yüksek hassasiyette, Long ve Double ötesinde alternatif veri tiplerini veya özel çözümleri göz önünde bulundurmak gerekebilir.
VBA Long Bildirimi
VBA Long integer değişkeninin bildirimi aşağıda gösterilmiştir:
Dim var As Long
Burada var, VBA Long'a tip dönüştürülmüş değişkendir.
Artık VBA Long Function'ın nasıl kullanıldığını gördüğünüze göre, nasıl kullanılacağına dair bazı Örneklere bakalım.
Örnekler
Aşağıda VBA Uzun Veri tipinin nasıl kullanılacağına dair bazı pratik örnekler inceleyelim.
Örnek 1
Verilen herhangi bir sayının faktöriyelini bulmanız gereken bir örneği ele alalım. Artan ürün değerleri nedeniyle, bu örnekte VBA Long veri türünü kullanıyoruz. Bunu yapmak için aşağıda belirtilen adımları izleyin.
Adım 1: Excel Çalışma Kitabını açın. Açıldığında, başlık çubuğundaki “Geliştirici” sekmesine tıklayın. Orada, “Visual Basic” seçeneğini seçin.

VBA Modülünde, başlık çubuğundaki “Ekle” butonuna tıklayın ve “Modül” seçeneğini seçin.

Alternatif olarak “Görünüm” sekmesini seçebilirsiniz.

Daha sonra “Makrolar”a gidin ve “Makroları Görüntüle”yi seçin.

Daha önce alt programlar veya Makrolar oluşturduysanız, bir pencere açılacak ve VBA sekmesini açmak için “Düzenle” düğmesine tıklayın.

Düğmeye tıkladığınızda alt rutinleri düzenleyebilir, ekleyebilir ve silebilirsiniz.
Artık Excel VBA'da kodlamaya başlamaya hazırsınız.
Adım 2: Kullanıcının verdiği herhangi bir sayının faktöriyelini hesaplamak için bir alt prosedür başlatın.

Adım 3: İki Long değişkeni başlatın; biri kullanıcının girdisini alır, diğeri ise sonuçtaki faktöriyel değerini alır.

Adım 4: Excel VBA'da InputBox fonksiyonunu kullanarak kullanıcıdan sayı girdisini alın.

Adım 5: Verilen değerin 0'dan büyük olup olmadığını kontrol etmek için If-Else işlevini kullanın. Değilse, bir mesaj döndürür ve alt prosedürü sonlandırır.

VBA Long veri tipi negatif değerleri de kabul edebilir.
Adım 6: Ürün değişkenini 1 olarak tanımlayın. Sayıları çarptığımız için, değişkeni 1 olarak başlatmazsak tüm ürün değerleri 0 olur.

Adım 7: Kullanıcının tanımladığı sayıya göre bir FOR döngüsü başlatıyorum, bunu ürün değişkeniyle çarpıyorum ve güncelliyorum.

Adım 8: Ürün değişkenini bir MsgBox fonksiyonunda yazdırın.

Kod:
Sub CalculateFactorial()
Dim num As Long
Dim result As Long
num = InputBox(“Pozitif bir tam sayı giriniz:”)
If num < 0 Then
MsgBox “Lütfen pozitif bir tam sayı girin.”
Exit Sub
End If
result = 1
For i = 1 To num
result = result * i
Next i
MsgBox “The factorial of ” & num & ” is ” & result
End Sub
Adım 9: Yukarıdaki VBA kodunu VBA Araç Çubuğundaki Yeşil Düğmeye basarak veya “F5” tuşuna basarak çalıştırın.
Eğer negatif bir tam sayı girdiyseniz:


Doğru girdiyseniz:


Örnek #2
Bir uygulama örneği olarak, girdiğiniz sayıya kadar Fibonacci sayılarının bir dizisini yazdıran bir VBA Programı oluşturmak istiyorsunuz.
Fibonacci Serisi, sonraki sayının son iki değişkenin toplamı olduğu bir sayı serisidir.
Örneğin:
0, 1, 1, 2, 3, 5,…..
Bu durumda 3. basamaktan saymaya başlarız. İlk iki değer her zaman 0 ve 1'dir.
3. hanede,
1 = 0+1
2 = 1+1
Ve benzeri.
Bunun için büyük değerleri işleyebilmek adına Long Veri Tipini kullanabiliriz.
Adım 1: Tercih edilen aralığa kadar Fibonacci sayıları üretecek bir alt rutin tanımlayın.

Adım 2: Fibonacci serisinin yazdırılacağı sayı olan 5 VBA Uzun Veri türü değişkeni bildirin. İlk iki değişkeni bildirmek için iki değişken bildirin. Ardından, iki değişkenin toplamını ve döngüsel yinelemeli bir değişkeni bulmak için başka bir değişken bildirin.

Adım 3: Mevcut yılın doğum tarihinin geçip geçmediğini kontrol edin. Geçmediyse, elde edilen yıl farkından bir çıkarın.

Adım 4: Verilen sayının pozitif olup olmadığını kontrol edin.

Adım 5: Serinin ilk iki sayısını başlatın.

Adım 6: Fibonacci dizisini yazdırın. İlk iki değeri bildirin.

vbCrLf – Bunu farklı satırlarda yazdırmak için kullanılan bir VBA sabitidir.
Adım 7: Tek toplamları bulmak için bir for döngüsü oluşturun

Adım 8: Önceki iki değerin (0 ve 1) toplamını yazdırın.

Adım 9: İkinci elemanın bu seride olduğunu varsayalım ve onları yerlerine koyalım.

Kod:
Sub GenerateFibonacci()
Dim n As Long
Dim fib1 As Long
Dim fib2 As Long
Dim fibNext As Long
Dim i As Long
n = InputBox(“Oluşturulacak Fibonacci sayılarının sayısını girin:”)
If n <= 0 Then
MsgBox “Lütfen pozitif bir tam sayı girin.”
Exit Sub
End If
fib1 = 0
fib2 = 1
Debug.Print “Fibonacci Sequence:” & vbCrLf & “0” & vbCrLf & “1”
For i = 3 To n
fibNext = fib1 + fib2
Debug.Print fibNext
fib1 = fib2
fib2 = fibNext
Next i
End Sub
Adım 10: Yukarıdaki programı derlemek ve çalıştırmak için, programı çalıştırmak üzere “F5” tuşuna basın. Çıktıyı hemen sekmede yazdıracağız.


Fibonacci serisinde çalışmak için VBA Long Data tipini yazdırabiliriz.
