
Excel Rastgele Sayı Üretme VBA
Rastgele sayı üretmek, belirli bir sayı aralığından veya belirli bir dağılımdan rastgele, yani önceden tahmin edilemeyen bir sayı seçme işlemidir. Bu işlem, matematiksel ve istatistiksel uygulamalar, oyunlar, simülasyonlar, testler, güvenlik algoritmaları ve daha birçok alanda kullanılır.
Makro yazmak için öncelikli olarak üst menüden geliştirici sekmesinin aktif olduğundan emin olunuz. Eğer değilse, Excel’de Geliştirici sekmesini etkinleştirmek için "Dosya" > "Seçenekler" > "Şeridi Özelleştir" menüsünden "Geliştirici"yi işaretleyin. Detaylı bilgi için linke tıklayabilirsiniz. Ardından, "Geliştirici" sekmesinden "Visual Basic" butonuna tıklayarak VBA Düzenleyicisini açabilir ve "Ekle" > "Modül" ile yeni bir modül ekleyebilirsiniz. Daha fazla bilgi için linke tıklayabilirsiniz.
VBA ile Rastgele Ondalık Sayı Üretme
VBA ile Belirli Bir Aralıkta Rastgele Sayı Üretme
VBA ile Rastgele Benzersiz Sayılar Üretme
VBA kullanarak, Excel'deki yerleşik S_SAYI_ÜRET fonksiyonuna benzer şekilde rastgele ondalıklı sayılar üretmek oldukça basittir. Aşağıdaki kodu kullanarak, 0 ile 1 arasında rastgele bir sayı üretebilirsiniz.
Sub RastgeleOndalik()
Dim rastgeleSayi As Double
rastgeleSayi = Rnd() ' 0 ile 1 arasında rastgele sayı üretir
End sub
Eğer belirli bir aralıkta rastgele bir sayı üretmek isterseniz, aşağıdaki VBA kodu işinize yarayacaktır. Örneğin, 1 ile 100 arasında rastgele bir tam sayı üretmek için şu kodu kullanabilirsiniz:
Sub RastgeleArada()
Dim rastgeleSayi As Integer
rastgeleSayi = Int((100 - 1 + 1) * Rnd + 1)
End sub
Benzersiz rastgele sayılar üretmek, özellikle sıralı olmayan ve tekrarlamayan veriler oluşturmak için faydalıdır. VBA kullanarak benzersiz sayılar oluşturmak için, sayıları bir koleksiyona ekleyebilir ve her yeni sayıyı kontrol edebilirsiniz.
Aşağıdaki kod, benzersiz sayılar üretir ve tekrar etmeyen sayıları bir koleksiyona ekler. 1 ile 100 arasında 10 benzersiz sayı üretir.
Sub BenzersizRastgeleSayilar()
Dim sayilar As Collection
Set sayilar = New Collection
Dim i As Integer
Dim yeniSayi As Integer
Dim tekrar As Boolean
Do While sayilar.Count < 10
tekrar = False
yeniSayi = Int((100 - 1 + 1) * Rnd + 1)
On Error Resume Next
sayilar.Add yeniSayi, CStr(yeniSayi)
If Err.Number <&rt; 0 Then
tekrar = True
Err.Clear
End If
On Error GoTo 0
Loop
Next i
End Sub
Sonuç
Excel’de VBA kullanarak rastgele sayılar üretmek, veri analizi, simülasyonlar ve oyunlar gibi pek çok alanda büyük kolaylık sağlar. Bu yazıda, rastgele ondalıklı sayılar, belirli bir aralıkta tam sayılar ve benzersiz sayılar üretmek için VBA kodlarını inceledik. Kendi projelerinizde kullanarak Excel’in gücünden en iyi şekilde yararlanabilirsiniz.
Yorumlar