如何在子中创build一个新的对象,并将其分配给一个参数?

我在vba中有以下代码,excel。 首先,我创build了“List”类:

Public next as List Public val as Integer 

接下来我想这样做

 Sub Test() Dim ls as List Set ls = new List Set_val ls.next, 8 Debug.Print (ls.next is Nothing) 'True - why? Debug.Print ls.next.val 'Error end sub Sub Set_val(l as List, v as Integer) Set l = new List l.val = v end sub 

但它不工作,我得到错误消息“对象或块variables未设置的variables”。 你知道如何正确的做?

试试这个:

 Sub Test() Dim ls as List Set ls = new List Set ls.Next = Set_val(8) Debug.Print (ls.next is Nothing) 'True - why? Debug.Print ls.next.val 'Error end sub Function Set_val(v as Integer) as List Set Set_val = new List Set_val.val = v end sub 

Public next As List无法工作,因为Next不能使用。

你永远不会改变next的价值。 该函数改变val的值。

我不明白你在做什么,但这应该有所帮助:

 Sub Test() Dim ls As List Set ls = New List Set_val ls, 8 Debug.Print (ls.next0 Is Nothing) 'True - why? Debug.Print ls.next0.val 'Error End Sub Sub Set_val(l As List, v As Integer) Set l.next0 = New List l.val = v End Sub