RANDBETWEEN ILE ISTENILEN DEGERLERI HARIC TUTMAK

Merhaba arkadaslar, bu konumuzda belirli bir rakam araliginda rastgele sayi ureten randbetween (rastgelearalik) fonksiyonunda istediginiz degerleri disarida tutabileceginiz bir kullanici tanimli fonksiyon paylasacagiz. Daha web olabilmesi icin arasinda four olmayan 1-5 araligindaki sayilarin olusturdugu (1,2,three,5) A1:A4 araligini ele alalim. yapmak istedigimiz su sekilde olucak fonksiyonumuz 1 ile 5 arasinda sayi uretecek fakat bu A1:A4 araligini sonuc olarak dogurmayacak; dolayisiyla four sonucunu dogurmak zorunda kalicak. bunun icin kullanacagimiz kullanici tanimli fonksiyonumuz su sekilde;

Operate Araligi_Haric_Tutarak_Uret(Kucuk_Deger As Lengthy, Buyuk_Deger As Lengthy, Haric_Tutulacak_Deger As Vary) As Lengthy
Dim Uretilecek_Sayi As Lengthy
Dim Aralik As Vary
Do
Uretilecek_Sayi = Kucuk_Deger + Int(Rnd() * (Buyuk_Deger + 1 - Kucuk_Deger))
For Each and every Aralik In Haric_Tutulacak_Deger
If Uretilecek_Sayi = Aralik Then Exit For
Subsequent Aralik
Loop Unless Aralik Is Nothing

Araligi_Haric_Tutarak_Uret = Uretilecek_Sayi
Utility.Unstable
Finish Operate

RANDBETWEEN ILE ISTENILEN DEGERLERI HARIC TUTMAK

Yazar: mmustafaaslan

2004 yilindan itibaren ozel bir sirketin finans departmaninda calismaktadir. Kendini excel, visual basic kullaniminda gelistirmis olan yazarimiz; Meslegi geregi SAP konusunda ileri derecede bilgilidir.

“RANDBETWEEN ILE ISTENILEN DEGERLERI HARIC TUTMAK” için 2 yorum

    1. Merhaba, bunu engellemenin bir yolu oldugunu sanmiyorum bu durumda ESC yahut CTRL Break ile islemi durdurmaniz gerekicek.

      Sadece buyuk deger kucuk girilirse diye asagidaki gibi bir kontrol konulabilir saniyorum;

      Function Araligi_Haric_Tutarak_Uret(Kucuk_Deger As Long, Buyuk_Deger As Long, Haric_Tutulacak_Deger As Range) As Long
      Dim Uretilecek_Sayi As Long
      Dim Aralik As Range

      If Buyuk_Deger <= Kucuk_Deger Then GoTo handler Do Uretilecek_Sayi = Kucuk_Deger + Int(Rnd() * (Buyuk_Deger + 1 - Kucuk_Deger)) For Each Aralik In Haric_Tutulacak_Deger If Uretilecek_Sayi = Aralik Then Exit For Next Aralik Loop Until Aralik Is Nothing Araligi_Haric_Tutarak_Uret = Uretilecek_Sayi Application.Volatile handler: End Function

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


1 + 7 =