Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试添加随机整数和,VBA_Vba_Excel - Fatal编程技术网

尝试添加随机整数和,VBA

尝试添加随机整数和,VBA,vba,excel,Vba,Excel,我试图将500以上的所有随机整数值相加,然后将它们显示在文本框中,但是它不起作用,每当我运行代码时,它的总和都为零。这是使用VBA的用户窗体内部。如有任何建议,将不胜感激 Private Sub CommandButton1_Click() Dim r As Double, c As Double, rand As Double, y As Double, x As Double, i As Double r = TextBox1.Value c = TextBox2.

我试图将500以上的所有随机整数值相加,然后将它们显示在文本框中,但是它不起作用,每当我运行代码时,它的总和都为零。这是使用VBA的用户窗体内部。如有任何建议,将不胜感激

 Private Sub CommandButton1_Click()
    Dim r As Double, c As Double, rand As Double, y As Double, x As Double, i As Double
    r = TextBox1.Value
    c = TextBox2.Value
    rand = TextBox3.Value
    Rnd [5]
    i = 0
        For x = 1 To r
            For y = 1 To c
                Cells(x, y).Value = Int(Rnd * rand)
                If (ActiveCell.Value >= 500) Then
                    i = i + ActiveCell.Value
                Else ' do nothing
                End If
            Next y
        Next x
        Cells(r + 1, c).Value = "SUM"
        Cells(r + 1, c + 1).Value = i
        MsgBox (i)
 End Sub

我对VBA了解不多,但可以

Cells(x, y).Value = Int(Rnd * rand)
If (ActiveCell.Value >= 500) Then

。。是指不同的单元格吗?

我对VBA了解不多,但可以

Cells(x, y).Value = Int(Rnd * rand)
If (ActiveCell.Value >= 500) Then

。。是指不同的单元格吗?

你完全正确。我用Cellsx,y.Value替换了所有的ActiveCell.Value,它成功了!谢谢你解开了这个古老的谜团!含糖的我很高兴这有帮助:你完全正确。我用Cellsx,y.Value替换了所有的ActiveCell.Value,它成功了!谢谢你解开了这个古老的谜团!含糖的我很高兴这有助于: