Viết code không trùng dữ liệu (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

phatnguyen7301

Thành viên mới
Tham gia
6/1/25
Bài viết
3
Được thích
0
xin chào các anh chị. Em có 1 file vòng quay nhưng quay lại nhiều thì đã có box thông báo nhân viên đã trúng thưởng. Xin nhờ các anh chị giúp em code bỏ qua nhân viên đã trúng thưởng đó và tiếp tục quay không trùng lại mà không cần bảng box thông báo
 

File đính kèm

Upvote 0
Mình có cách cù lần này lấy mươi người trúng thưởng không trùng nhau
Bạn có thể tham khảo & tinh chỉnh hơn theo ý

PHP:
Dim MaNV As String
Sub KhoiTaoMa()
 Dim W As Integer, Tmp As Integer, Tam As Integer
 MaNV = ""
 
 For W = 1 To 198
    Tmp = 1 + 35 * Rnd() \ 1
    If Tmp Mod 2 = 0 Then
        MaNV = MaNV & Right("00" & CStr(W), 3)
    Else
        MaNV = Right("00" & CStr(W), 3) & MaNV
    End If
    If W > 12 Then
        Tmp = 1 + 13 * Rnd() \ 1
        Tam = Tmp Mod 3
        If Tam = 0 Then Tmp = Tmp + 1
        If Tam = 2 Then Tmp = Tmp - 1
        MaNV = Mid(MaNV, Tmp, Len(MaNV)) & Left(MaNV, Tmp - 1)
    End If
 Next W
 MsgBox Left(MaNV, 30)
End Sub
 
Upvote 0
Mình có cách cù lần này lấy mươi người trúng thưởng không trùng nhau
Bạn có thể tham khảo & tinh chỉnh hơn theo ý

PHP:
Dim MaNV As String
Sub KhoiTaoMa()
 Dim W As Integer, Tmp As Integer, Tam As Integer
 MaNV = ""
 
 For W = 1 To 198
    Tmp = 1 + 35 * Rnd() \ 1
    If Tmp Mod 2 = 0 Then
        MaNV = MaNV & Right("00" & CStr(W), 3)
    Else
        MaNV = Right("00" & CStr(W), 3) & MaNV
    End If
    If W > 12 Then
        Tmp = 1 + 13 * Rnd() \ 1
        Tam = Tmp Mod 3
        If Tam = 0 Then Tmp = Tmp + 1
        If Tam = 2 Then Tmp = Tmp - 1
        MaNV = Mid(MaNV, Tmp, Len(MaNV)) & Left(MaNV, Tmp - 1)
    End If
 Next W
 MsgBox Left(MaNV, 30)
End Sub
Cách này chạy một lúc ra mấy mươi người không trùng nhau.
Nhưng chạy mấy mươi lúc chỉ ra mấy mươi người ấy thôi, không thay đổi.

Nguyên tắc hàm Rnd() nếu không có Randomize để chuyển hạch nhân (seed) thì nó là pseudo-random. Mỗi lần bắt đầu nó dùng đúng cái seed mặc định, và vì vậy các nhóm kết quả của mỗi lần chạy code sẽ in hệt nhau.
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom