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) ="が強調表示されます(行全体ではなく、その部分のみ)。配列に格納されているものはすべて数値です。コンパイラが配列をサブまたは関数として呼び出そうとしていると思います。

アーラン計算を使用できるように、コードの先頭に関数を定義していますが、他に何かを書く前にすべて関数を終了しています。

何か案は?これは私を完全に困惑させます。

4

1 に答える 1

0

Dim CallsForecasted(1 To 22, 1 To 6) As Doubleサブルーチンまたは関数の上に移動 します。

プロシージャの下位に宣言を配置すると、「End Sub、End Function、またはEndPropertyの後にコメントのみが表示される可能性があります」というコンパイルエラーが発生します。奇妙なことに、それでも呼び出し元のプロシージャを実行できCallsForecasted、コンパイルエラーは発生しなくなります。しかし、私はあなたが見ている「コンパイルエラー:サブまたは関数が定義されていません」を受け取ります。

だから、それは混乱しています!

于 2013-02-23T17:10:25.140 に答える