这里的基本思路是第4卷d6,降到最低点。
For lngPosition = LBound(strAttributes) To UBound(strAttributes)
i = 0
For shortPosition = LBound(intRoll) To UBound(intRoll)
intRoll(shortPosition) = Int((6 - 1 + 1) * Rnd + 1)
i = intRoll(shortPosition) + i
Next shortPosition
i = {i - smallest intRoll()}
strAttributes(lngPosition) = i
Next lngPosition
通过在定义范围后添加.Small
,我发现了很多关于如何在excel范围内找到最低值的信息,但我认为这不起作用。关于如何实现这一目标,我可能已经离开了数英里,但我很新鲜,我真的不知道。
由于
答案 0 :(得分:3)
假设您的数组是一维数组,您仍然可以使用工作表函数类,如:
Dim myArray
myArray = Array(5, 3, 103, 99, -14, 12)
Debug.Print Application.WorksheetFunction.Small(myArray, 1)
如果您的数组是多维的,那么您将需要使用强力迭代。
答案 1 :(得分:1)
这是一个如何实现它的例子:
Sub test()
Dim a(10), i&
For i = 0 To 10
a(i) = i
Next
MsgBox "Min: " & WorksheetFunction.Min(a) & Chr(10) & _
"Avg: " & WorksheetFunction.Average(a) & Chr(10) & _
"Max: " & WorksheetFunction.Max(a)
End Sub