2017-07-06 4 views
1

文字列配列で同様の問題が発生しましたが、現在は動作していますが、これはisntです。 Integer型をInteger()型として、Variant()として返し、Cint()で各要素をループして変換しようとしました。いずれにしてもタイプミスマッチが発生します。ここでは、コードは次のようになります。ここではExcel VBAで整数配列を返すことができません

Dim pathTimeList() As Integer 
ReDim pathTimeList(0 To stepCount) 
pathTimeList = set_path_time_list(stepCount) 

は、機能コードは次のとおりです。

Private Function set_path_time_list(ByVal stepCount As Integer) As Integer 


    Dim pathTimeList() As Integer 
    ReDim pathTimeList(0 To stepCount - 1) 

    Dim loopIndex As Integer 
    loopIndex = 0 

    Dim firstRow As Integer 
    Dim lastRow As Integer 
    Dim firstColumn As Integer 
    Dim lastColumn As Integer 

    firstRow = 3 
    lastRow = 27 
    firstColumn = 2 
    lastColumn = 2 

    For i = firstRow To lastRow 

     For j = firstColumn To lastColumn 

      pathTimeList(loopIndex) = Cells(i, j).Value 

     Next j 

     loopIndex = loopIndex + 1 

    Next i 

    set_path_time = pathTimeList 

End Function 
+0

私は型の不一致を取得していないのに役立ちます願っています。コードが失敗している行を指定してください。 – Vegard

答えて

0

関数宣言に示すために、()と戻り値の型を、次の関数は整数の配列を返すようにするには、まず、配列:

Private Function set_path_time_list(ByVal stepCount As Integer) As Integer() 

第二に、に最後の文を変更します。

set_path_time_list = pathTimeList 

2つのオプションのクリーンアップアイテム。最後の文の後、あなたがRedimとなったストレージの割り当てを解除考える:

Erase pathTimeList 

最後に、あなたがIntegerLongとしてijを宣言する必要があります。

関連する問題