VBA分配给数组

时间:2014-11-28 09:31:28

标签: vba

在代码片段中,我创建了一个字符串数组,并希望将其分配给另一个。

Dim rfms(0) As String
rfms(0) = "X"

下一行无效

Me.SelectedRfms = rfms

但是当我创建下一个函数时:

Function ReturnTheArrayInParamter(p() As String) As String()

    ReturnTheArrayInParamter = p

End Function

这是有效的:

Me.SelectedRfms = ReturnTheArrayInParamter(rfms)

Me.SelectedRfms的定义是下一个:

Private pSelectedRfms() As String

''''''''''''''''''''''
' SelectedRfms property
''''''''''''''''''''''
Public Property Get SelectedRfms() As String()
    SelectedRfms = pSelectedRfms
End Property
Public Property Let SelectedRfms(value() As String)
    pSelectedRfms = value
End Property

你能解释为什么第一个不起作用以及为什么第二个起作用。

1 个答案:

答案 0 :(得分:0)

您不能将声明为固定大小的数组分配给属性,请使用:

ReDim rfms(0) As String

(间接功能不使用固定大小的数组)