| 
    
     |  | ご説明のイメージがよく浮かびませんが、 文法としてのクラスは、Propertyを使って
 以下のようにすれば良いと思います。
 
 '----<クラスモジュール>----
 Private mTypeValue As SomeType
 
 Public childObj As Class1
 Public depth As Long
 
 Private Sub Class_Initialize()
 ' 無意味
 'depth = 0
 'With typeValue
 '  .num = 0
 '  .chars = ""
 'End With
 End Sub
 
 Public Property Let typeValue(RHS As SomeType)
 mTypeValue = RHS
 End Property
 
 Public Property Get typeValue() As SomeType
 typeValue = mTypeValue
 End Property
 
 ' ↓↓ このメソッドって未完成品??
 
 Public Function createNestObj(childValue As SomeType) As Class1
 
 Dim newValue As New Class1
 With newValue
 With .typeValue
 .num = childValue.num + 1
 .chars = childValue.chars & "a"
 End With
 .depth = Me.depth - 1
 Set .childObj = Me
 End With
 
 End Function
 '----------------
 
 
 |  |