을 작동한다; 먼저 클래스 모듈에 이벤트를 추가해야합니다. 당신이 볼 수 있듯이,이 할 수있는 유일한 것은 다음에있는 버튼에 캡션을 설정 수있다
'#### CLASS NAMED clsTEST
Public WithEvents btn As MSForms.CommandButton
Public frm As UserForm
Dim iCount As Long
Private Sub btn_Click()
iCount = IIf(iCount < 1, 1, iCount + 1)
btn.Caption = "Count " & Str(iCount)
End Sub
'### END CLASS
내 예를 들어, 나는 하나 개의 이벤트로 clsTest라는 클래스 모듈을 추가하기 위하여려고하고, btn_click() 당신이 그것을 클릭 한 번. 양식을 활성화하면
Dim mColButtons As New Collection '## SET A NEW COLLECTION
Private Sub UserForm_Activate()
'
Dim btnEvent As clsTEST
Dim ctl As MSForms.Control
'
Set ctl = Me.Controls.Add("Forms.CommandButton.1")
'
With ctl
.Caption = "XYZ"
.Name = "AButton"
END With
'
Set btnEvent = new clsTEST
Set btnEvent.btn = ctl
set btnEvent.frm = Me
'
mColButtons.add btnEvent
'End Sub
,이 버튼을 만들 것입니다 : 다음, 양식 코드에 다음을 입력합니다. 버튼을 누를 때마다 캡션이 바뀝니다.
영리한 아이디어! VBA의 모든 것이 영리해야한다고 봅니다. – notnot