EXCEL VBA从1到35的数字当众随机挑选7个且不重复,1到12至少出现一个,13-24至少出现1个,25到35至少出现一个中的数字,将结果放在A列。再从1-12中随机挑选3个数字且不重复,将结果放在B列
时间: 2024-05-29 07:09:47 浏览: 13
Sub RandomSelection()
Dim i As Integer, n As Integer
Dim arr1(1 To 35) As Integer, arr2(1 To 12) As Integer
Dim r As Integer, temp As Integer
'初始化数组
For i = 1 To 35
arr1(i) = i
Next i
For i = 1 To 12
arr2(i) = i
Next i
'随机挑选7个数字
i = 1
Do While i <= 7
r = Int(Rnd() * (36 - i)) + 1
If arr1(r) <> 0 Then
'判断是否满足条件
If (r >= 1 And r <= 12) Or (r >= 13 And r <= 24) Or (r >= 25 And r <= 35) Then
arr1(r) = 0
Range("A" & i) = r
i = i + 1
End If
End If
Loop
'将剩余数字放到新数组中
n = 1
For i = 1 To 35
If arr1(i) <> 0 Then
arr2(n) = arr1(i)
n = n + 1
End If
Next i
'随机挑选3个数字
i = 1
Do While i <= 3
r = Int(Rnd() * (13 - i)) + 1
temp = arr2(r)
arr2(r) = arr2(13 - i)
arr2(13 - i) = temp
Range("B" & i) = temp
i = i + 1
Loop
End Sub
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![xlsm](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)