应该是其他地方出错了,ByRef oColl As Collection没有问题. 测试代码: Function AAA(ByVal A As Integer, ByRef oColl As Collection) As Long oColl.Add "B", "BB" oColl.Add "C", "CC" AAA = 1 End Function Private Sub Form_Load() Dim oColl As Collection Set oColl = New Collection Call AAA(1, oColl) MsgBox (oColl.Item(1)) End Sub
我用varient型也不行。
测试代码:
Function AAA(ByVal A As Integer, ByRef oColl As Collection) As Long
oColl.Add "B", "BB"
oColl.Add "C", "CC"
AAA = 1
End Function
Private Sub Form_Load()
Dim oColl As Collection
Set oColl = New Collection
Call AAA(1, oColl)
MsgBox (oColl.Item(1))
End Sub