Chia thành từng nhóm học sinh ngẫu nhiên

Liên hệ QC

ThuNghi

Hãy cho rồi sẽ nhận!
Thành viên đã mất
Tham gia
16/8/06
Bài viết
3,808
Được thích
4,449
Câu hỏi:
Trong 1 lớp học, tôi muốn chia từng nhóm để thảo luận một cách ngẫu nhiên (ví dụ có 32 học sinh, mỗi nhóm thảo luận có 3 người)???

Trả lời:
Bạn nghiên cứu phần này:
http://www.giaiphapexcel.com/forum/showthread.php?t=6&highlight=Asap
Cài thêm ASAP Utilities

Bạn chọn 8 dòng x 4 cột = 32, tại ASAP Utilities, bạn chọn Fill, random numbering of cell và nó sẽ fill cho bạn 32 số vào 32 ô
 
Chỉnh sửa lần cuối bởi điều hành viên:
Bạn có thể tham khảo thêm macro dưới đây:

Mã:
[b]Sub XepDSTheoNhom()[/b]
Dim StrC As String:         Dim IZ As Integer, SoNgau As Integer, Nhom As Integer, Dai As Integer
Nhom = 0
For IZ = 1 To 32
    Nhom = 1 + Nhom:                StrC = CStr(Nhom) & StrC
    Randomize
    If IZ > 3 Then
        SoNgau = Int(IZ * Rnd()) / 2 + 1
        If SoNgau > 1 Then StrC = Mid(StrC, SoNgau) & Left(StrC, SoNgau - 1)
    End If
    Randomize
    If IZ > 12 Then
       SoNgau = Int(6 * Rnd()) + 1:       Dai = Len(StrC) - 5
       StrC = Right(StrC, 5) & Mid(StrC, SoNgau, Dai - SoNgau + 1) & Left(StrC, SoNgau - 1)
    End If
    If Nhom = 7 Then Nhom = 0
Next IZ
Sheets("s2").Select
For IZ = 2 To 33
    If IZ > 25 Then
        Range("B" & IZ).Value = Mid(StrC, IZ - 25, 1)
    Else
        Range("B" & IZ).Value = Left(StrC, 1):                  Randomize
        SoNgau = 3 + Int(3 * Rnd()):        StrC = Mid(StrC, SoNgau) & Mid(StrC, 2, SoNgau - 2)
    End If
Next IZ
[b]End Sub[/b]
 
Lần chỉnh sửa cuối:
Vấn đề của bạn đưa ra là rất cần thiết trong việc phân chia nhóm để học tập.
Do không gõ dấu nên tôi đã xóa và viết lại nội dung.

Mời các bạn tham khảo file dưới đây. Tôi cho tùy biến số học sinh, số người trong 1 nhóm.

Mã:
Sub Ngaunhien()
    Dim HS, ND As String
    Dim TT, Sohs, Stt, Nhom As Integer
        On Error GoTo Thoat
    ND = "Hoc theo nhom"
    TT = 0
    m = 1
        Set HS = Application.InputBox("Chon mang chua hoc sinh (vung to mau vang)." & Chr(13) & Chr(13) & "LUU Y: Khong duoc chon o trong!", ND, Type:=8)
        Nhom = InputBox("Vao so hoc sinh trong 1 nhom:", ND)
        Set Vitri = Application.InputBox("Chon O ma ban muon dat", ND, Type:=8)
        Sohs = HS.Cells.Count
    Randomize    
        For i = 1 To Sohs
LamLai:
            Stt = Int(Sohs * Rnd + 1)
            Temp = HS(Stt)
                For k = 0 To TT
                    If Temp = Vitri.Cells(k, 1) Then GoTo LamLai
                Next
                    Vitri.Cells(TT + 1, 1) = Temp
                        If (TT Mod Nhom) = 0 Then
                            With Vitri.Cells(k, 0).Interior
                                    .ColorIndex = 4
                                    .Pattern = xlSolid
                            End With
                            Vitri.Cells(k, 0).Value = "Nhom hoc sinh thu " & m
                            m = m + 1
                        End If
                    TT = TT + 1
        Next i

Thoat:
End Sub
 

File đính kèm

  • Vidu_nhom_hs.zip
    11.4 KB · Đọc: 676
Hôm qua có bạn hỏi tôi là file upload lên khi thoát ra chưa đặt lại menu Popup. Bạn nào đã dùng thì copy thêm thủ tục này vào nhé :-= :

Sub Auto_Close() ' Tự động thực hiện khi đóng file
Application.CommandBars("Cell").Reset ' Trả về mặc định
End Sub
 
Lần chỉnh sửa cuối:
Ah anh oi!
như bây giờ đã có macro chia nhóm ngẫu nhiên. nhưng minh muốn là viết một modul để tạo ra menu khi mở excle lên thị nó hiện trên cùng với menu của excle. khi cần thì mình mở menu lên và goi macro thực thi
 
Về chia nhóm học tập ngẫu nhiên

Gởi bạn ThuNghi.

Có lần tôi được tham gia 1 lớp tập huấn của INTEL (Chương trình Dạy học của INTEL - KHoá học khởi đầu). Nhìn chung là chương trình này rất bổ ích cho giáo viên.

Tại lớp học, việc tổ chức các nhóm học tập (nhằm phát triển kỹ năng hợp tác) được áp dụng rất tốt. Việc chia nhóm học tập được thực hiện bởi vài cú click chuột. Tranh thủ, tôi xin được "nó" rồi. Xin chia sẻ với các bạn (file đính kèm).
 

File đính kèm

  • Bat cap ngau nhien.xls
    33.5 KB · Đọc: 839
Mình down file của bạn về và chạy tốt rồi, tuy nhiên gặp vấn đề là bây giờ khi click chuột phải nó không ra menu của Excel mà ra cái Test Routine 1 và Test Routine 2 như hình !$@!!
Bạn nào biết cách giúp mình với, thanks
Sorry các bác vì đào mộ, kiến thức là vô biên, hihihi
Untitled.jpg
Vấn đề của bạn đưa ra là rất cần thiết trong việc phân chia nhóm để học tập.
Do không gõ dấu nên tôi đã xóa và viết lại nội dung.

Mời các bạn tham khảo file dưới đây. Tôi cho tùy biến số học sinh, số người trong 1 nhóm.

Mã:
Sub Ngaunhien()
    Dim HS, ND As String
    Dim TT, Sohs, Stt, Nhom As Integer
        On Error GoTo Thoat
    ND = "Hoc theo nhom"
    TT = 0
    m = 1
        Set HS = Application.InputBox("Chon mang chua hoc sinh (vung to mau vang)." & Chr(13) & Chr(13) & "LUU Y: Khong duoc chon o trong!", ND, Type:=8)
        Nhom = InputBox("Vao so hoc sinh trong 1 nhom:", ND)
        Set Vitri = Application.InputBox("Chon O ma ban muon dat", ND, Type:=8)
        Sohs = HS.Cells.Count
    Randomize    
        For i = 1 To Sohs
LamLai:
            Stt = Int(Sohs * Rnd + 1)
            Temp = HS(Stt)
                For k = 0 To TT
                    If Temp = Vitri.Cells(k, 1) Then GoTo LamLai
                Next
                    Vitri.Cells(TT + 1, 1) = Temp
                        If (TT Mod Nhom) = 0 Then
                            With Vitri.Cells(k, 0).Interior
                                    .ColorIndex = 4
                                    .Pattern = xlSolid
                            End With
                            Vitri.Cells(k, 0).Value = "Nhom hoc sinh thu " & m
                            m = m + 1
                        End If
                    TT = TT + 1
        Next i

Thoat:
End Sub
 
Vấn đề của bạn đưa ra là rất cần thiết trong việc phân chia nhóm để học tập.
Do không gõ dấu nên tôi đã xóa và viết lại nội dung.

Mời các bạn tham khảo file dưới đây. Tôi cho tùy biến số học sinh, số người trong 1 nhóm.

Mã:
Sub Ngaunhien()
    Dim HS, ND As String
    Dim TT, Sohs, Stt, Nhom As Integer
        On Error GoTo Thoat
    ND = "Hoc theo nhom"
    TT = 0
    m = 1
        Set HS = Application.InputBox("Chon mang chua hoc sinh (vung to mau vang)." & Chr(13) & Chr(13) & "LUU Y: Khong duoc chon o trong!", ND, Type:=8)
        Nhom = InputBox("Vao so hoc sinh trong 1 nhom:", ND)
        Set Vitri = Application.InputBox("Chon O ma ban muon dat", ND, Type:=8)
        Sohs = HS.Cells.Count
    Randomize    
        For i = 1 To Sohs
LamLai:
            Stt = Int(Sohs * Rnd + 1)
            Temp = HS(Stt)
                For k = 0 To TT
                    If Temp = Vitri.Cells(k, 1) Then GoTo LamLai
                Next
                    Vitri.Cells(TT + 1, 1) = Temp
                        If (TT Mod Nhom) = 0 Then
                            With Vitri.Cells(k, 0).Interior
                                    .ColorIndex = 4
                                    .Pattern = xlSolid
                            End With
                            Vitri.Cells(k, 0).Value = "Nhom hoc sinh thu " & m
                            m = m + 1
                        End If
                    TT = TT + 1
        Next i

Thoat:
End Sub
Chào anh PhanTuHuong và cả nhà!
Tôi có việc muốn nhờ anh và các bạn: Tôi tải file và áp dụng thấy tốt với công việc của mình. Hiện nay tôi có file mà số lượng hơn 3.000 tên mong anh và các bạn sửa giúp code. Thêm nữa, liệu bên cạnh cột Danh sach học sinh có thêm cột Nơi sinh thì có chọn được danh sách ngẫu nhiên đồng thời đi kèm cột nơi sinh của học sinh đó được không? nếu được anh và các bạn giúp thêm điều đó. Trân trọng cảm ơn cả nhà! Chờ tin!
 
Tạm xem file trong khi chờ đợi thêm nữa
Bạn coi như mã H. Viên là mã địa chỉ vậy đi!
 

File đính kèm

  • gpeArr.rar
    50.5 KB · Đọc: 194
Cảm ơn bạn ChanhTQ@!
Vấn đề đã được giải quyết xong. Cảm ơn tất cả các bạn, cảm ơn diễn đàn!
 
Lần chỉnh sửa cuối:
Về chia nhóm học tập ngẫu nhiên

Gởi bạn ThuNghi.

Có lần tôi được tham gia 1 lớp tập huấn của INTEL (Chương trình Dạy học của INTEL - KHoá học khởi đầu). Nhìn chung là chương trình này rất bổ ích cho giáo viên.

Tại lớp học, việc tổ chức các nhóm học tập (nhằm phát triển kỹ năng hợp tác) được áp dụng rất tốt. Việc chia nhóm học tập được thực hiện bởi vài cú click chuột. Tranh thủ, tôi xin được "nó" rồi. Xin chia sẻ với các bạn (file đính kèm).
Cám ơn file của anh rất nhiều, nó rất dễ sử dụng ạ!
 
Web KT
Back
Top Bottom