• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kodun İçinde Random Sayı Üretmek

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba Arkadaşlar,
Excel sayfasından veri almadan, Makro kodu içinde 2 basamaklı, 10 ve 99 arasında ve içinde 5 barındırmayan rastgele sayı üretmek mümkün mü ?
 
Deneyiniz.

C++:
Option Explicit

Sub Rastgele_Sayi_Uret()
    Dim Sayi As Byte
10  Sayi = WorksheetFunction.RandBetween(10, 99)
    If InStr(1, Sayi, 5) > 0 Then GoTo 10
    If Left(Sayi,  1) = Right(Sayi, 1) Then GoTo 10
    MsgBox Sayi
End Sub
 
Deneyiniz.

C++:
Option Explicit

Sub Rastgele_Sayi_Uret()
    Dim Sayi As Byte
10  Sayi = WorksheetFunction.RandBetween(10, 99)
    If InStr(1, Sayi, 5) > 0 Then GoTo 10
    MsgBox Sayi
End Sub
Üstad harikasınız, elinize aklınıza sağlık. Bir noktayı atlamışım. Acaba 11-22-33 gibi aynı sayıları üretmemesi sağlanabilir mi !
 
Selamlar,
Öncelikle belirtmeliyim ki, Makro bilgim kısıtlıdır....

Makro kodu içinde 2 basamaklı, 10 ve 99 arasında ve içinde 5 barındırmayan rastgele sayı üretmek

Sadece Aktif hücreye

Rich (BB code):
Sub RastAct()
   ActiveCell = Evaluate("=INDEX({1,2,3,4,6,7,8,9},RANDBETWEEN(1,8))*10+INDEX({0,1,2,3,4,8,6,7,8,9},RANDBETWEEN(1,9))")
End Sub


Seçilecek herhangi alana

Kod:
Sub RastRng()
   With Selection
      .Formula = "=INDEX({1,2,3,4,6,7,8,9},RANDBETWEEN(1,8))*10+INDEX({0,1,2,3,4,8,6,7,8,9},RANDBETWEEN(1,9))"
      .Value = .Value
   End With
End Sub

Not : Ben yazana kadar soru cevaplanmış....
 
Selamlar,
Öncelikle belirtmeliyim ki, Makro bilgim kısıtlıdır....

Makro kodu içinde 2 basamaklı, 10 ve 99 arasında ve içinde 5 barındırmayan rastgele sayı üretmek

Sadece Aktif hücreye

Rich (BB code):
Sub RastAct()
   ActiveCell = Evaluate("=INDEX({1,2,3,4,6,7,8,9},RANDBETWEEN(1,8))*10+INDEX({0,1,2,3,4,8,6,7,8,9},RANDBETWEEN(1,9))")
End Sub


Seçilecek herhangi alana

Kod:
Sub RastRng()
   With Selection
      .Formula = "=INDEX({1,2,3,4,6,7,8,9},RANDBETWEEN(1,8))*10+INDEX({0,1,2,3,4,8,6,7,8,9},RANDBETWEEN(1,9))"
      .Value = .Value
   End With
End Sub

Not : Ben yazana kadar soru cevaplanmış....
Üstad çok teşekkür ellerinize, aklınıza sağlık. Sayenizde bir teknik öğrenmiş oldum.
Acaba 11-22 gibi birbirinin aynı sayıları üretmemesi sağlanabilir mi ?
 
Üstteki mesajında ki kodu revize ettim. Tekrar deneyiniz.
 
Geri
Üst