我正在尝试将数据存储在数组中,但在尝试存储数据时会抛出"Compile error: Sub or Function not defined"
。
我在sub之前声明了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 :(得分:0)
将Dim CallsForecasted(1 To 22, 1 To 6) As Double
移到任何子程序或函数之上。
如果我在程序中放置较低的声明,我会得到“只有注释可能出现在End Sub,End Function或End Property之后”编译错误。奇怪的是,它仍然允许我运行调用CallsForecasted
的过程,然后我不再得到编译错误。但我确实得到了你所看到的“编译错误:Sub或Function not defined”。
所以,这很令人困惑!