Çözüldü Belli Bir Rangedeki Rastgele bir hücreye rastgele sayı eklemek.

Katılım
14 Ekim 2018
Mesajlar
30
Excel Vers. ve Dili
2016 - Türkçe
Altın Üyelik Bitiş Tarihi
09.11.2019
Merhabalar

Örneğin Sayfa1.Range ("a1:b2") aralığındaki hücrelerin rastgele 2 tanesine 1-4 arasında rastgele birbirinden farklı sayı koymasını istiyorum bunu nasıl yaparım teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,006
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

Kod:
Sub SAYI_URET()
10  Sayı1 = Evaluate("=RANDBETWEEN(1,4)")
    Sayı2 = Evaluate("=RANDBETWEEN(1,4)")
   
20  Satır1 = Evaluate("=RANDBETWEEN(1,2)")
    Satır2 = Evaluate("=RANDBETWEEN(1,2)")
    Sutun1 = Evaluate("=RANDBETWEEN(1,2)")
    Sutun2 = Evaluate("=RANDBETWEEN(1,2)")
    If Satır1 = Satır2 And Sutun1 = Sutun2 Then GoTo 20
   
    If Sayı1 = Sayı2 Then GoTo 10
    With Sheets("Sayfa1")
        .Range("A1").Resize(2, 2) = ""
        Cells(Satır1, Sutun1) = Sayı1
        Cells(Satır2, Sutun2) = Sayı2
    End With
End Sub
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub test()

    Dim sayilar(1 To 4)
    Dim hucre(1 To 4)

    For i = 1 To 4
        sayilar(i) = i
    Next i

    For Each huc In [a1:b2]
        say = say + 1
        hucre(say) = huc.Address
    Next

    For i = 1 To 100
        For ii = 1 To UBound(sayilar)
            say = uret(4)
            ara = sayilar(ii)
            sayilar(ii) = sayilar(say)
            sayilar(say) = ara
        Next ii
    Next i

    For i = 1 To 100
        For ii = 1 To UBound(hucre)
            say = uret(4)
            ara = hucre(ii)
            hucre(ii) = hucre(say)
            hucre(say) = ara
        Next ii
    Next i

    [a1:b2].ClearContents

    For i = 1 To 2
        Range(hucre(i)) = sayilar(i)
    Next i

End Sub
Function uret(son)
basla:
    sayi = Int((son * Rnd) + 1)
    If sayi > son Then GoTo basla
    uret = sayi
End Function
 
Katılım
14 Ekim 2018
Mesajlar
30
Excel Vers. ve Dili
2016 - Türkçe
Altın Üyelik Bitiş Tarihi
09.11.2019
Deneyiniz.

Kod:
Sub SAYI_URET()
10  Sayı1 = Evaluate("=RANDBETWEEN(1,4)")
    Sayı2 = Evaluate("=RANDBETWEEN(1,4)")
  
20  Satır1 = Evaluate("=RANDBETWEEN(1,2)")
    Satır2 = Evaluate("=RANDBETWEEN(1,2)")
    Sutun1 = Evaluate("=RANDBETWEEN(1,2)")
    Sutun2 = Evaluate("=RANDBETWEEN(1,2)")
    If Satır1 = Satır2 And Sutun1 = Sutun2 Then GoTo 20
  
    If Sayı1 = Sayı2 Then GoTo 10
    With Sheets("Sayfa1")
        .Range("A1").Resize(2, 2) = ""
        Cells(Satır1, Sutun1) = Sayı1
        Cells(Satır2, Sutun2) = Sayı2
    End With
End Sub
Hocam Teşekkür Ederim. Kodunuz Çalıştı.
 
Üst