DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Sub karistir()
sonSat = Cells(Rows.Count, "A").End(3).Row
For i = 1 To sonSat * 2
basla1:
say1 = Int(Rnd() * sonSat) + 1
If say1 < 1 Or say1 > sonSat Then GoTo basla1
basla2:
say2 = Int(Rnd() * sonSat) + 1
If say2 < 1 Or say2 > sonSat Or say1 = say2 Then GoTo basla2
tmp = Cells(say1, "b").Value
Cells(say1, "b").Value = Cells(say2, "b").Value
Cells(say2, "b").Value = tmp
Next i
End Sub
Merhaba.
A1:a13 arasında isimler,b1:b13 arasında koli numaraları var.bu verileri yine isimler a1:a13 aynı şekilde koli numaraları b1:b13'te olacak şekilde rastgele nasıl karıştırabilirim?
Sub karistir()
sonSat = Cells(Rows.Count, "A").End(3).Row
For i = 1 To sonSat * 2
basla1:
say1 = Int(Rnd() * sonSat) + 1
If say1 < 1 Or say1 > sonSat Then GoTo basla1
basla2:
say2 = Int(Rnd() * sonSat) + 1
If say2 < 1 Or say2 > sonSat Or say1 = say2 Then GoTo basla2
tmp = Cells(say1, "A").Resize(, 2).Value
Cells(say1, "A").Resize(, 2).Value = Cells(say2, "A").Resize(, 2).Value
Cells(say2, "A").Resize(, 2).Value = tmp
Next i
End Sub
şimdi fark ettim. karıştır dediğimde a1 in karşındaki b1 aynı kalıyor. yani a1 15. satıra gitse bile b1 de 15. satıra gidiyor. iki sütünu bağımsız olarak nasıl karıştırabiliriz?
Sub karistir()
sonSat = Cells(Rows.Count, "A").End(3).Row
For sut = 1 To 2
For i = 1 To sonSat * 2
say1 = sayiUret(1, sonSat)
basla:
say2 = sayiUret(1, sonSat)
If say1 = say2 Then GoTo basla
tmp = Cells(say1, sut).Value
Cells(say1, sut).Value = Cells(say2, sut).Value
Cells(say2, sut).Value = tmp
Next i
Next sut
End Sub
Function sayiUret(alt, ust)
Randomize Timer
basla:
sayi = Int(Rnd() * ust) + 1
If sayi < alt Or sayi > ust Then GoTo basla
sayiUret = sayi
End Function