| 
    
     |  | ▼shutlmharze さん: こんにちは
 
 >のように纏めてしまいたいのです。何か方法はあるでしょうか。
 
 もっとうまいやり方があるとは思いますが、こんなのでもいけます。
 面倒くさいですよ。
 
 もし判らなければ、同じプロシージャを呼び出すコードを全部の
 イベントプロシージャに書きましょう。その方がはるかに早いと思います。
 
 '//////////////////UserForm//////UserForm1//////////////
 '//UserFormに2つだけCommandButtonを貼り付けているだけ////////
 Option Explicit
 
 Private clsButton(2) As Class1
 
 Private Sub UserForm_Initialize()
 Set clsButton(0) = New Class1
 Set clsButton(0).SetButton = Me.CommandButton1
 Set clsButton(1) = New Class1
 Set clsButton(1).SetButton = Me.CommandButton2
 End Sub
 
 Private Sub UserForm_Terminate()
 Set clsButton(0) = Nothing
 Set clsButton(1) = Nothing
 End Sub
 
 
 '////////Classモジュール///// Class1 ////////
 Option Explicit
 
 Private WithEvents mButton As MSForms.CommandButton
 
 Public Property Set SetButton(pButton As MSForms.CommandButton)
 Set mButton = pButton
 End Property
 
 Private Sub Class_Terminate()
 If Not mButton Is Nothing Then
 Set mButton = Nothing
 End If
 End Sub
 
 Private Sub mButton_Click()
 Unload UserForm1
 End Sub
 
 研究してくださいませ。この手法はClass(クラス)を使用しています。
 
 |  |