2013-12-12 71 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爲顯示兩個選項:) –