2013-12-12 84 views
1

我在Excel中遇到VBA代码问题。 这里是我的代码VBA中的语法错误

Sub generateMatrix(size, lowerbound, upperbound) 
    For i = 1 To size 
     For j = 1 To size 
      ActiveSheet.Cells(i, j).Value = Int((upperbound - lowerbound + 1) * Rnd + lowerbound) 
     Next j 
    Next i 
End Sub 

Sub taskOne() 
    generateMatrix(5, -100, 50) 
End Sub 

正如你所看到的,generateMatrix()被用来随机整数矩阵返回活动工作表,使用参数:sizelowerboundupperbound。 在taskOne()子我使用generateMatrix(),正确指定的参数,但是当我运行taskOne()子,我得到Compiler error: Syntax error和somewhy它突出Sub taskOne()线问题是否会在该行...

会是什么成为这样的问题的原因?

谢谢。

回答

4

您可以定义Sub而不是函数。试试这个:

Sub taskOne() 
    generateMatrix 5, -100, 50 
End Sub 

你也可以这样做:

Sub taskOne() 
    Call generateMatrix(5, -100, 50) 
End Sub 
+0

令人惊奇,但工作。奇怪的方式来运行其他Sub中的Sub。谢谢:) –

+0

当然,现在等待冷却:) –

+0

+ 1为显示两个选项:) –