myArray = Array("A", "B", "C", "D", "E")
Call someSub(myArray)
...
Sub someSub(ByRef myArray() as String) 'Error here
'contents here
End Sub
その 2 番目の部分のタイプの不一致エラー -- 何が原因ですか?
Option Explicit
ひょっとして myArray の type の使用を省略して、指定しなかったのですか? それはバリアントになり、as String
実際にタイプの不一致であると言っています。
それを理解しました-それをプレーンなバリアントとして渡す必要がありました
Sub someSub(myArray as Variant)
実際には、明示的なオプションを使用してから、すべての変数を特定の型として定義する必要があります。この場合:
Option Explicit
Dim myArray(1 to 10) as String 'define the number of elements before you use it.
myArray(1) = 'A'
myArray(2) = 'B'
[etc etc]
少し長くなりますが、タイプセーフであると、コードの実行が速くなり、読みやすくなります。また、遭遇したようなエラーを防ぎます...