사건이
Private Sub Button1_Click()
' Your code
End Sub
모양을 그리고 그들은 각각의 형태의 뒤에있는 코드 내에 위치하고 있습니다. 코드를 재사용하려면 별도의 모듈에 하위 코드를 작성한 다음 이벤트에서 호출하면됩니다.
Private Sub Button1_Click()
call MySub()
End Sub
' This is in a module
Private Sub MySub()
' Your code
End Sub
이제 실행해야하는 코드가 해당 양식과 관련된 컨트롤을 사용하지 않는 한이 기능이 작동합니다. 이런 식으로 코드를 작성해야한다면 간단하게 컨트롤을 하위로 전달하는 대신 해당 컨트롤을 하위로 전달하는 것입니다. Name
예. 버튼을 클릭하면 TextBox가 오늘 날짜로 업데이트됩니다. 텍스트 상자에는 각 양식마다 다른 이름이 있습니다. txtDate1
은 Form1
이고 txtDate2
은 Form2
입니다. 당신이
How to add events to Controls created at runtime in Excel with VBA
시작하기에 좋은 장소처럼 보인다 런타임 동안이 작업을 수행하려는 경우 그래서 어떻게 보이는지
'Form 1 Button
Private Sub Button1_Click()
call MySub(txtDate1)
End Sub
'Form 2 Button
Private Sub Button2_Click()
call MySub(txtDate2)
End Sub
' This is in a module
Private Sub MySub(t as TextBox)
t.Text = Date()
End Sub
입니다. 이것이 노력의 가치가있는 상황을 상상할 수는 없습니다.
오케이. 귀하의 답변 주셔서 감사합니다! VBA에 대한 많은 경험이 없습니다. 제 일은 Access 데이터베이스를 만드는 것이기 때문에 그것을 사용합니다. 내 선택이 아니야. 그래서 당신이 노력할 가치가 있다고 생각하지 않는다면, 나는 당신의 말을 듣겠습니다.귀하의 회신을 기다리는 대신 계속해야하기 때문에 나는 이미 그것을하고있는 방법입니다 :) –
내가 지금 할 일은 내가 클래스 모듈을 가지고있어서 form_load에 객체를 인스턴스화하고 Set obj.cControlName = Me.ControlName'을 입력 한 다음이 답변에서했던 것처럼 이벤트를 설정합니다. 답장을 보내 주셔서 다시 한 번 감사드립니다! –