1

我試圖將數據存儲在數組中,但在嘗試存儲數據時拋出了"Compile error: Sub or Function not defined"數組被錯誤地調用爲子或函數

我宣佈CallsForecasted之前的子爲了使其公開如下。

Dim CallsForecasted(1 To 22, 1 To 6) As Double 

這是我得到錯誤的循環。

For icount = 1 To 22 
     For jcount = 1 To 6 
      Select Case jcount 
      Case 1 
       CallsForecasted(icount, jcount) = MondayForecast * Worksheets("Erlang").Range("B" & (2 + icount)) 
      Case 2 
       CallsForecasted(icount, jcount) = TuesdayForecast * Worksheets("Erlang").Range("C" & (2 + icount)) 
      Case 3 
       CallsForecasted(icount, jcount) = WednesdayForecast * Worksheets("Erlang").Range("C" & (2 + icount)) 
      Case 4 
       CallsForecasted(icount, jcount) = ThursdayForecast * Worksheets("Erlang").Range("C" & (2 + icount)) 
      Case 5 
       CallsForecasted(icount, jcount) = FridayForecast * Worksheets("Erlang").Range("C" & (2 + icount)) 
      Case 6 
       CallsForecasted(icount, jcount) = SaturdayForecast * Worksheets("Erlang").Range("D" & (2 + icount)) 
      End Select 
     Next jcount 
    Next icount 

在引發編譯器錯誤的"CallsForecasted(icount, jcount) ="一審被突出顯示(不整線,只是一部分)。所有存儲在數組中的數字都是一個數字。我認爲編譯器試圖將該數組作爲子或函數調用。

我確實在代碼的開頭定義了函數,這樣我就可以使用Erlang計算,但是在寫入其他東西之前它們全部結束。

任何想法?這一個讓我完全陷入困境。

回答

0

Dim CallsForecasted(1 To 22, 1 To 6) As Double移動到任何子程序或函數之上。

我得到一個「只有評論可能出現後End Sub,End Function或End Property」編譯錯誤,如果我把程序中的聲明降低。奇怪的是,它仍然允許我運行調用CallsForecasted的程序,然後我不再收到編譯錯誤。但是我確實看到了「編譯錯誤:Sub或Function not defined」。

所以,它是混亂!

+0

謝謝Doug!我會試一試。很高興知道我不是唯一一個。 :D – Scott 2013-02-23 18:02:50

+0

是的,它做到了!謝謝道格!我認爲,因爲我在sub之前對它進行了挖掘,所以它會起作用,但顯然它必須一路走到最前面。感謝您幫助我解決菜鳥錯誤。 – Scott 2013-02-23 18:07:13

+0

我很高興能幫到你! – 2013-02-23 19:19:43