我如何得到一个macros,从我的工作表中读取我的下一个循环的最大值?

我正在使用这个macros模拟一个掷骰子为我的math课程。 我们正在预测的结果,而不是实际的结果。

Sub test() Dim i As Long For i = 1 To 100 Range("a" & i) = Int(Rnd() * (7 - 1) + 1) Next i End Sub 

我希望macros使用工作表1单元格b2中的值,而不必在打开和编辑macros时更改此编号。

你可以做这样的事情:

 Sub test() Dim i As Long Dim CurrentValue As Long Dim MaxValue As Long For i = 1 To 100 CurrentValue = Int(Rnd() * (7 - 1) + 1) Range("a" & i) = CurrentValue If MaxValue < CurrentValue Then MaxValue = CurrentValue Next i Range("B2") = MaxValue End Sub 

只需添加另一个variables,然后读取单元格的值。

(你应该添加一个检查来查看它的一个数字或在单元格上使用DataValidation)

 Sub test() Dim i As Long Dim iMax As Long iMax = Sheets("Sheet 1").Range("B2").Value For i = 1 To iMax Range("a" & i) = Int(Rnd() * (7 - 1) + 1) Next i End Sub