VBA trộn số ngẫu nhiên theo yêu cầu

Liên hệ QC

NewBie2019

Thành viên mới
Tham gia
1/10/19
Bài viết
21
Được thích
0
Giới tính
Nữ
Xin phép hỏi các Anh/Chị GPE về cách trộn số ngẫu nhiên.
Mình đã tạo lệnh trộn ngẫu nhiên (như hình)- nhưng bị hạn chế là chỉ trộn được cố định trên hàm Uni này
1-ngau nhien.png
Muốn xin các A.C giúp dùm tạo một form để nhập yêu cầu trộn số ngẫu nhiên (theo hình)
ngau nhien.png
.
(Xin gửi file đính kèm để minh họa cụ thể)

Cám ơn các A.C nhiều
 

File đính kèm

Xin phép hỏi các Anh/Chị GPE về cách trộn số ngẫu nhiên.
Mình đã tạo lệnh trộn ngẫu nhiên (như hình)- nhưng bị hạn chế là chỉ trộn được cố định trên hàm Uni này
View attachment 225989
Muốn xin các A.C giúp dùm tạo một form để nhập yêu cầu trộn số ngẫu nhiên (theo hình)
View attachment 225986
.
(Xin gửi file đính kèm để minh họa cụ thể)

Cám ơn các A.C nhiều
Có cần duy nhất không bạn.Chỉnh 1 chút.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Bạn tham khảo macro tại nút lệnh của bạn:
PHP:
Private Sub cmd_LamLai_Click()
 Dim fNum As Long, lNum As Long, J As Long, W As Integer
 Dim StrC As String
 
 fNum = CLng(Me!txt_BD.Text):               lNum = CLng(Me!tbKT.Text)
 If lNum <= fNum Then
    MsgBox "Nhâp Sô Sai!", , "Chào Nha!"
 ElseIf lNum > 999 Then
    MsgBox "Sô Quá Lón!", , "Xin Chào!"
ElseIf lNum - fNum < Me!tbSL.Value Then
    MsgBox "Không Du Sô!", , "Bye!"
 Else
    For J = fNum To lNum
        If J Mod 2 = 0 Then
            StrC = StrC & Right("00" & CStr(J), 3)
        Else
            StrC = Right("00" & CStr(J), 3) & StrC
        End If
    Next J
    ReDim Arr(1 To Me!tbSL.Value, 1 To 1) As String
    Randomize
    For J = 1 To Me!tbSL.Value
        W = 1 + (Len(StrC) / 2) * Rnd() \ 1
        If W Mod 3 = 0 Then
            W = W + 1
        ElseIf W Mod 3 = 2 Then
            W = W - 1
        End If
        Arr(J, 1) = Mid(StrC, W, 3)
        StrC = Left(StrC, W - 1) & Mid(StrC, W + 3, Len(StrC))
    Next J
    Columns("A:A").ClearContents
    [A3].Resize(J - 1).Value = Arr()
 End If
End Sub
 
Upvote 0
Đã có công làm một cái Form thì làm luôn cho trọn.
Trên Form có một TextBox để nhận ô ghi kết quả, mặc định là A3
 
Upvote 0
Bạn tham khảo macro tại nút lệnh của bạn:
PHP:
Private Sub cmd_LamLai_Click()
Dim fNum As Long, lNum As Long, J As Long, W As Integer
Dim StrC As String

fNum = CLng(Me!txt_BD.Text):               lNum = CLng(Me!tbKT.Text)
If lNum <= fNum Then
    MsgBox "Nhâp Sô Sai!", , "Chào Nha!"
ElseIf lNum > 999 Then
    MsgBox "Sô Quá Lón!", , "Xin Chào!"
ElseIf lNum - fNum < Me!tbSL.Value Then
    MsgBox "Không Du Sô!", , "Bye!"
Else
    For J = fNum To lNum
        If J Mod 2 = 0 Then
            StrC = StrC & Right("00" & CStr(J), 3)
        Else
            StrC = Right("00" & CStr(J), 3) & StrC
        End If
    Next J
    ReDim Arr(1 To Me!tbSL.Value, 1 To 1) As String
    Randomize
    For J = 1 To Me!tbSL.Value
        W = 1 + (Len(StrC) / 2) * Rnd() \ 1
        If W Mod 3 = 0 Then
            W = W + 1
        ElseIf W Mod 3 = 2 Then
            W = W - 1
        End If
        Arr(J, 1) = Mid(StrC, W, 3)
        StrC = Left(StrC, W - 1) & Mid(StrC, W + 3, Len(StrC))
    Next J
    Columns("A:A").ClearContents
    [A3].Resize(J - 1).Value = Arr()
End If
End Sub
Câu lệnh anh viết hay quá
Xin cám ơn anh SA-DQ
 
Upvote 0
Web KT

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

Back
Top Bottom