Kelebek sistemi için Excel çalışması

Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Merhaba arkadaşlar.
Okulumuzda 16 sınıf var. Bu sınıflardaki öğrenciler sınav zamanında rastgele sınıflarda sınava girmek zorundalar. Bunun için ekteki şekilde Listeler sayfasındaki öğrencileri Kelebek Dağılım sayfasına her öğrenci bir kere olmak üzere rastgele nasıl yerleştirebilirim?
Teşekkürler.

Kelebek
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
400 öğrenci var. 5 sınıf var.
her öğrenci bir kere olmak üzere rastgele nasıl yerleştirebilirim?
Bu şartı nasıl yerine getireceğiz?
Sorunuzu sanırım eksik soruyorsunuz.
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Merhaba
evet haklısınız hocam. Dosyayı güncelledim. 100 öğrenci ile yapabilir miyiz?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Anlaşamadığımızı düşünüyorum.
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Anlaşamadığımız yer neresi hocam:
100 kişiyi 20'şerli olarak sınıflara dağıtmamız gerekiyor.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Aşağıdaki kodu bir Module kopyalayıp çalıştırın.
Kod:
Sub Grupla()
    Dim Bak As Long
    Dim Sinif As Integer
    Dim SaySinif As Integer
    Dim Kolon As Integer
    With Worksheets("Kelebek Dağılımı")
        .Range("A3:X" & Rows.Count).ClearContents
        For Bak = 2 To Worksheets("Sayfa1").Cells(Rows.Count, "A").End(xlUp).Row
Yinele:
            Sinif = Int(1 + Rnd * (5))
            Kolon = (5 * (Sinif - 1)) + 1
            SaySinif = .Cells(Rows.Count, Kolon).End(xlUp).Row
            If SaySinif < 22 Then
                .Cells(SaySinif + 1, Kolon) = SaySinif - 1
                .Cells(SaySinif + 1, Kolon + 1) = Worksheets("Sayfa1").Cells(Bak, "B")
                .Cells(SaySinif + 1, Kolon + 2) = Worksheets("Sayfa1").Cells(Bak, "C")
                .Cells(SaySinif + 1, Kolon + 3) = Worksheets("Sayfa1").Cells(Bak, "D")
                
            Else
                GoTo Yinele
            End If
        Next
     End With
End Sub
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Merhaba
Hocam formül ile yapabilir miyiz?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Konu eski olduğu için hatırlayamadım. Yapılır-yapılamaz bilemiyorum.
Ancak şöyle bir şey var ki formül ile rastgele işlemleri yapıldığında herhangi bir hücrede değişiklik yapılırsa tüm rastgele formülleri yeniden çalışacağından ve hep farklı bir sonuç çıkacağından kullanışlı bir sonuç elde edilemiyor.
Sizin için en tutarlısı kod ile olacağını düşünüyorum.
 
Üst