참으로 제공되는 콘트롤이 많다 콘트롤 도구상자의 TextBox,Spinner,CommandButton콘트롤을 활용하여 무언가 만들어 보면서 감각을 확장시켜 나가보자 TextBox콘트롤은 셀을 입력도구로 사용할때와 틀린 장점은 열의 폭을 조정하면 한꺼번에 모두 같은 폭이 되어 시각적으로 보기 흉하게 되지만 TextBox는 독립적으로 폭을 유지할수 있어서 시트의 열폭의 조정에 영향을 받지 않는다
아래의 그림과 같이 데이타가 어떤 시트에 들어 있을때 Spinner콘트롤을 크릭할때마다 Spinner콘트롤의 값에 의하여 데이타의 해당행의 값을 두개의 TextBox에 불러 올린다 아래와 같은 작업을 필요로 한다
TextBox Spinner CommandButton
OptionButton두개를 추가하여 기능을 확장해 보자 여러개의 콘트롤이 사용될때 중요한 점은
Dim blnX As Boolean Sub Object_A_SomeEvent() If blnX=True Then Exit Sub Else Object_A의 본래의 이벤트발생시의 작업 End If End Sub Sub Object_B_SomeEvent() Object_B의 작업중에 Object_A의 속성값을 바꿔주어야 한다면 blnX=True Object_A.Value="SomeValue" blnX=False Object_B의 작업계속... End Sub
와 같이 B 콘트롤에서 A 콘트롤의 값을 바꿔야 한다면 값을 바꿀때 의도하지 않은 A콘트롤의 이벤트가 쓸데없이 발생하지 못하도록 통제를 하여야 한다 이 감각이 없으면 날밤을 새는 경우가 초보님들에게는 왕왕 발생한다 아래의 화일에서는 이런 관점에서 잘 관찰하면서 숙달하시기 바란다 아래와 같은 작업을 필요로 한다
TextBox Spinner CommandButton Optionbutton
위의 화일들에서 삭제기능이 없었다 삭제기능을 추가하고 콤보상자를 추가하면 새로운 정보를 입력할때 편리하게 해보자 위의 화일에서 각각의 콘트롤에 분산된 같은 작업명령들을 하나의 새로운 프로시져를 만들어서 각각의 콘트롤에서 공동으로 사용하게 하여 코딩을 간략하게 정리해보자 아래와 같은 작업을 추가한다
TextBox Spinner CommandButton OptionButton ComboBox