|
根据第二个附件写的代码
Sub s()
Dim arr(1 To 10000, 1 To 50), brr(), x As Long, y As Long, c As Long
ReDim brr(1 To 4, 1 To UBound(arr, 2)) '创建配套的数组保存结果
For y = 1 To UBound(arr, 2)
For x = 1 To UBound(arr)
arr(x, y) = Application.RandBetween(1, 1000)
If arr(x, y) < 955 Then Else Exit For '小于跳过 ,
Next
For x = x + 1 To UBound(arr)
arr(x, y) = Application.RandBetween(1, 1000)
Select Case arr(x, y)
Case Is <= 955 '也可以1 to 955 这样判断
arr(x, y) = 0 '记录0
Case Is >= 985
If y Mod 5 = 1 Then c = y: brr(1, y) = (y \ 5) + 1 '记录序号
brr(2, y) = x '记录行
If x > brr(3, c) Then brr(3, c) = x '记录对应最大值
Exit For
End Select
Next
Next
Sheets("sheet1").Range("a1").Resize(UBound(arr), UBound(arr, 2)) = arr '随机数据
Sheets("sheet2").Range("a1").Resize(UBound(brr), UBound(brr, 2)) = brr '存放行列记录
End Sub
|
|