7,759
社区成员
发帖
与我相关
我的任务
分享
Option Explicit
Private Sub Form_Load()
Dim colNumbers As New Collection
Dim i As Integer
For i = 100 To 999
If i Mod 3 = 0 And i Mod 5 <> 0 Then
colNumbers.Add i
End If
Next
For i = 1 To 10
Randomize
Dim j As Integer
j = Int(Rnd * colNumbers.Count) + 1
Debug.Print colNumbers(j)
colNumbers.Remove j
Next
End Sub
Option Explicit
Private Sub Command1_Click()
Dim aryResult(9) As Long
Dim aryCount As Long
Dim lngTmp As Long
Dim blnExists As Boolean
Dim i As Integer
Do
lngTmp = 100 + Rnd(Now()) * 900 '随机三位数
If lngTmp / 3 <> lngTmp \ 3 And lngTmp / 5 <> lngTmp \ 5 Then '既不为3整除也不为5整除
blnExists = False
For i = LBound(aryResult) To UBound(aryResult) '判断是否已经存在的答案
If aryResult(i) = lngTmp Then
blnExists = True
End If
Next
If Not blnExists Then '如果不是重复结果那么记录该结果
aryResult(aryCount) = lngTmp
aryCount = aryCount + 1
End If
End If
Loop While aryCount < 10 '当结果够10个的时候退出
For i = LBound(aryResult) To UBound(aryResult) '输出结果
Debug.Print aryResult(i)
Next
End Sub