質問です。以下のようにArraylistにPersonを5つ、それぞれ1から5の番号をつけて追加して、そのあとセルに表示というコードなのですが、
Dim per As Person
Set per = New Person
を、Dim per As New Person に一行でまとめるとセルの出力が全部5になってしまうのですが、
これはどういった理屈なのでしょうか?
一行でまとめて書いていたのでこの仕様に気づくまでかなり苦戦してしまいました、、


'--------------------標準モジュール------------------------
Sub test()
Dim col As Object
Set col = CreateObject("System.Collections.ArrayList")
Dim i As Long
For i = 1 To 5
Dim per As Person
Set per = New Person
per.num = i
col.Add per
Next
For i = 1 To 5
Cells(i, 1) = col.Item(i - 1).num
Next
End Sub
'--------------------------ここまで--------------------------

'----------------------クラスモジュール(Personクラス)-----------
Public num As Long
'----------------------------ここまで--------------------------