如何从我的工作表中获取一个宏来读取我的for,next循环的最大值?

时间:2014-11-16 06:23:06

标签: excel vba

我正在使用这个宏来模拟为我的数学课而滚动的骰子。我们正在研究预测结果与实际结果的对比。

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

我希望宏使用工作表1单元格b2中的值,而不是在我想要更改此数字时打开和编辑宏。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

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

答案 1 :(得分:0)

只需添加另一个变量,然后读入Cell的值。

(您应该添加一个检查以查看其编号或在单元格上使用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