Excel VBA:传递数组时键入不匹配

Kal*_*iMa 4 excel vba excel-vba

    myArray = Array("A", "B", "C", "D", "E")

    Call someSub(myArray)
Run Code Online (Sandbox Code Playgroud)

...

    Sub someSub(ByRef myArray() as String) 'Error here
       'contents here
    End Sub
Run Code Online (Sandbox Code Playgroud)

在第二部分输入不匹配错误 - 导致它的原因是什么?

App*_*Pie 9

你有没有机会省略使用Option Explicit然后继续不指定myArray的类型?这将使它成为一种变体,你说as String的确是一种类型不匹配.

  • 使用Option Explicit在上面定义该数组的正确方法是什么? (2认同)

Kal*_*iMa 6

想通了-必须将其作为普通变体传递

Sub someSub(myArray as Variant)
Run Code Online (Sandbox Code Playgroud)