• DİKKAT

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

Rastgele sayı seçmek

  • Konbuyu başlatan Konbuyu başlatan musatak
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Aralık 2023
Mesajlar
2
Excel Vers. ve Dili
2019
1 den 20 ye kadar birbirinden farklı 20 sayı seçen vb komutları nasıl olur?
 
Aşağıdaki açıklamalar ve kodlar copilot'a aittir.

VBA’da 1’den 20’ye kadar birbirinden farklı 20 sayı seçmek aslında “1’den 20’ye kadar olan tüm sayıları karıştırıp listelemek” anlamına geliyor. Bunun için en pratik yöntem, bir dizi oluşturup Randomize ve Rnd fonksiyonlarıyla karıştırmaktır. İşte örnek bir kod:

Kod:
Sub RastgeleSayilar()
    
    Dim sayilar(1 To 20) As Integer
    Dim i As Integer, j As Integer
    Dim temp As Integer
    
    ' 1-20 arası sayıları diziye yükle
    For i = 1 To 20
        sayilar(i) = i
    Next i
    
    ' Diziyi karıştır (Fisher-Yates algoritması)
    Randomize
    For i = 20 To 2 Step -1
        j = Int(Rnd() * i) + 1
        temp = sayilar(i)
        sayilar(i) = sayilar(j)
        sayilar(j) = temp
    Next i
    
    ' Sonuçları yazdır
    For i = 1 To 20
'        Debug.Print sayilar(i)
        Cells(i, 1) = sayilar(i)
    Next i
    
End Sub
 
Geri
Üst