|
Dim i As Integer
For i = 1 To 3
UserForms.Add("UserForm" & CStr(i)).Show
Next
UserFormsは表示中のUserFormなんじゃないかな。
だから何も表示していない状態では
UserForms.Count
は 0 だから、当然そこからインデックスや名前を渡して
オブジェクトを取得ということは出来ません。
もっとも、【45383】 でレスしたように、名前で取得はありえません。
なぜならば、
UserForms.Add("UserForm1").Show vbModeless
UserForms.Add("UserForm1").Show vbModeless
としたときに、同じオブジェクト名のものが2つUserFormsに登録できるので
どちらを取得すればいいか決まらないからです。
(ですので、インデックスでしか指定できない。UserForms(1)みたいに)
UserForms.Add("UserForm1").Show vbModeless
UserForms.Add("UserForm1").Show vbModeless
' UserForms("UserForm1").Caption = "ほげ" ←は出来ない!
UserForms(1).Caption = "ほげ"
|
|