• DİKKAT

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

Çö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
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.
 
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
 
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
 
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ı.
 
Geri
Üst