File dưới e tham khảo của một pro trong forum về cách tạo ngẫu nhiên dữ liệu số ngẫu nhiên không trùng, em thêm được đoạn mã chạy tự động sau mỗi 10s, nhưng mục đích của em cuối cùng là: cứ sau 10s, Sub tự động chạy cho đến khi H1 đến J1 hiển thị giá trị "true" thì dừng lại 30s, nhờ các pro giúp e với ạ!
Sub Test()
Range("A1:A30").Value = UniqueRandomNum(1, 1000, 30)
alertTime = Now + TimeValue("00:00:10")
Application.OnTime alertTime, "Test"
End Sub
Function UniqueRandomNum(Bottom As Long, Top As Long, Amount As Long)
'Application.Volatile '<--- Neu muon gia tri thay doi khi bam F9
On Error Resume Next
If Amount > Top - Bottom + 1 Then Amount = Top - Bottom + 1
With CreateObject("Scripting.Dictionary")
Do
.Add Int(Rnd() * (Top - Bottom + 1)) + Bottom, ""
Loop Until .Count = Amount
UniqueRandomNum = WorksheetFunction.Transpose(.Keys)
End With
End Function
File đính kèm
Lần chỉnh sửa cuối: