VBA サブルーチンで配列を作成する関数を実行し、その配列を別の関数に渡して、それらの配列項目をさらに処理しようとしています。非常に単純で、実際のコードとまったく同じように機能する例を作成しました。それは次のとおりです。
Sub SubRoutine()
ProcessArray CreateArray
End Sub
Function ProcessArray(Arr() As Variant) As Variant
End Function
Function CreateArray() As Variant
Dim Array1(1 To 4) As Variant
CreateArray = Array1
End Function
2 つの関数と、それら 2 つの関数を呼び出すサブルーチンだけです。コンパイラはコードのコンパイルを拒否し、次のように説明します。
コンパイル エラー:
型の不一致: 配列またはユーザー定義型が必要です
すべてが同じデータ型であり、渡された引数は実際には配列であるとしか言えません。ご参考までに、はい、データが割り当てられている配列を試してみました。
VBA 構文に欠けている微妙なものであることはわかっていますが、このような例は見たことがありません。どんな洞察も大歓迎です。