|
▼ichinose さん:
クラスモジュールを使用することでアッサリ解決しました。
今回、初めてクラスモジュールを使用しましたが、かなり便利そうですね。
時間がある時にもう少し勉強してみたいと思います。
ありがとうございました。
'ユーザーフォーム
Dim Classt() As Class1
Private Sub CommandButton1_Click()
Dim i As Long
Dim txtb As Object
Dim cmdb As Object
For i = 0 To 19
Set txtb = Frame1.Controls.Add("Forms.TextBox.1", "testt" & i, True)
With txtb
.Top = 5 + i * 20
.Left = 5
.Height = 18
.Width = 100
End With
Set cmdb = Frame1.Controls.Add("Forms.CommandButton.1", "testc" & i, True)
With cmdb
.Top = 5 + i * 20
.Left = 110
.Height = 18
.Width = 40
.Caption = "test" & i + 1
End With
ReDim Preserve Classt(i)
Set Classt(i) = New Class1
Classt(i).btnt = cmdb
Next i
Frame1.ScrollHeight = 5 + i * 20
End Sub
'クラス
Private WithEvents btn As MSForms.CommandButton
Public Property Let btnt(ByVal nbtn As MSForms.CommandButton)
Set btn = nbtn
End Property
Private Sub btn_Click()
MsgBox "ok"
End Sub
|
|