Excel & VBA---Brain Training
예전에 한번 하였던 것인데
안해보면 감각이 없어지니까..또 하나 더 해본다
이런 문제가 있었나 없었나 긴가민가하면 이전 화일 찾아보시고..
참 많은 질문을 하는 주제이다
"콘트롤을 런타임에 생성하고 이벤트프로시져를 작성하는 방법이 뭐지요??"
라는 많은 질문의 것이니 하나 더 해보자
VBA 편집기를 열고 UserForm을 하나 삽입하고
UserForm의 UserForm_Initialize 이벤트프로시져에
아래와 같이 작성하고
Private Sub UserForm_Initialize()
Dim iX As Integer
Dim iY As Integer
Dim oBtn As MSForms.CommandButton
Dim iStartLeft As Integer, iStartTop As Integer
Dim iSize As Integer, iZ As Integer
Dim iCol As Integer, iRow As Integer
iCol = 10
iRow = 10
iSize = 18
iStartLeft = 10: iStartTop = 10
For iX = 1 To iRow
For iY = 1 To iCol
iZ = iZ + 1
Set oBtn = Me.Controls.Add("forms.commandbutton.1")
With oBtn
.Left = iStartLeft + iY * iSize
.Top = iStartTop + iX * iSize
.Width = iSize
.Height = iSize
.Caption = _
Mid("ABCDEFGHIJKLMNOPQRSTUVWXYZ", Int(Rnd() * 26) + 1, 1)
.Font.Name = "courier new"
End With
Next
Next
Me.Height = iSize * iRow + 80
Me.Width = iSize * iCol + 60
Me.Caption = "UNO-XL-PROGRAMMIN Add Ctl on RunTime"
End Sub
일반 모듈시트에서 UserForm.
Sub createControlsOnRuntime()
UserForm1.Show
End Sub
를 작성하여 실행시키면 아래의 그림과 같이 사용자정의폼에
콘트롤이 줄줄이 만들어진다
문제는 이 버튼을 크릭하면 어떤 일을 하게 만들라는 것
위의 콘트롤은 허당이다..크릭해보았자 아무일도 못하는 멍텅구리다
해당콘트롤을 생성하면서 지능도 삽입시키라는 문제다
문제를 풀면 여러분은 더 이상 초보가 아닌 고수!!!
지능은 어느것을 만들어 넣어도 좋다
크릭하면 해당 버튼의 글자색이 빨강색으로 바뀌어도 좋고
한장의 시트를 만들고 해당켑셥을 시트에 꽉채워도 좋고
그냥 메시지 박스를 하나 덜렁 띄워도 좋고
아무일이나 여러분이 시키는대로 하는 지능을 심으라는 문제다
BrainTraining_058_AddCtlWithEvent.