Arrays 将数组传递给子数组或函数时ByRef Argumenttype不匹配

Arrays 将数组传递给子数组或函数时ByRef Argumenttype不匹配,arrays,excel,vba,string,byref,Arrays,Excel,Vba,String,Byref,我正在为工作做一个小项目。我所要做的就是在Sub1中创建一个数组并调用一个函数,将数组传递给该函数并让它填充数组 非常简单,它看起来像这样: Private Sub whatever() Dim arr(10, 2) As String workArray arr End Sub Sub workArray(ByRef arr As String) '- do stuff here End Sub 我在谷歌上搜索了这么多,就是不知道自己做错了什么。我也尝试过: 调用工作数组(a

我正在为工作做一个小项目。我所要做的就是在Sub1中创建一个数组并调用一个函数,将数组传递给该函数并让它填充数组

非常简单,它看起来像这样:

Private Sub whatever()
  Dim arr(10, 2) As String
  workArray arr
End Sub

Sub workArray(ByRef arr As String)
  '- do stuff here
End Sub
我在谷歌上搜索了这么多,就是不知道自己做错了什么。我也尝试过:

  • 调用工作数组(arr)
  • 调用工作数组arr
  • 工作阵列(arr)
  • 工作阵列
我已经读到我只能传递数组ByRef,所以我确信这应该是正确的。数组arr是String类型的,函数所期望的数组被声明为String-这也应该可以。我总是得到“ByRef参数类型不匹配”。字符串的类型是否有问题?字符串数组的行为是否不同

这里有没有人愿意帮我解除痛苦?

函数中缺少
()
,数组需要在变量之后传递到其他地方,以便VBA将其作为数组

Private Sub whatever()
  Dim arr(10, 2) As String
  workArray arr
End Sub

Sub workArray(ByRef arr() As String)
  '- do stuff here
End Sub
编辑 我环顾四周,有一个关于将数组传递给函数和再传递给函数的非常深入的指南。如有疑问,请检查cperson。他有大量关于VBA的有用信息

如果函数中缺少
()
,那么在将变量传递到其他地方时,数组需要
()
,以便VBA知道它是数组

Private Sub whatever()
  Dim arr(10, 2) As String
  workArray arr
End Sub

Sub workArray(ByRef arr() As String)
  '- do stuff here
End Sub
编辑
我环顾四周,有一个关于将数组传递给函数和再传递给函数的非常深入的指南。如有疑问,请检查cperson。他有大量关于VBA的有用资料

可能重复的可能重复的可能重复的你好Burns先生,非常感谢您的回答!现在我得到错误代码13-类型不匹配。我编辑了我的帖子,也许我的错误在别的地方?@McMuellermilch你现在有了一个新问题,我推荐一个新问题。无论是现在还是将来,帮助每个人也是如此。现在看你的问题,我的答案是无效的。我建议您将问题退回到原来的状态,如果我的回答解决了这个问题,请将其标记为已接受,然后用新问题提出新问题Hello Burns先生,非常感谢您的回答!现在我得到错误代码13-类型不匹配。我编辑了我的帖子,也许我的错误在别的地方?@McMuellermilch你现在有了一个新问题,我推荐一个新问题。无论是现在还是将来,帮助每个人也是如此。现在看你的问题,我的答案是无效的。我建议您将问题退回到原来的状态,如果我的回答解决了该问题,请将其标记为已接受,然后在新问题中提出新问题