VBA中的语法错误

我在Excel中遇到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()被用来返回随机整数的matrix到活动工作表,它使用参数: sizelowerboundupperbound 。 在taskOne()子我正在使用generateMatrix() ,正确指定参数,但是当我运行该taskOne()子,我得到Compiler error: Syntax error和一些为什么它突出显示Sub taskOne()行,如果问题将在那一行…

这个问题的原因是什么?

谢谢。

你定义一个Sub而不是一个函数。 尝试这个:

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

你也可以这样做:

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