Skip Navigation Links.
Expand VBAVBA
엑셀프로그래밍이 필요한 이유
Expand ExcelExcel
Expand External LibraryExternal Library
Expand SolutionSolution
Expand EssayEssay

SOLUTION_English Idioms Book_06

엑셀로 나만의 영어사전을 만들어 보자_여섯번째

이번 시간에는 채워진 콤보상자의 리스트중에서 숙어를 선택하면
숙어에 대한 설명정보와 숙어에 대한 예문정보를 찾아서
UserForm상의 콘트롤에 표현하는것을 해보도록 하자



두개의 텍스트박스는 나중에 신규정보나 수정을 할때 입력콘트롤로
바뀔수 있게 Label콘트롤을 사용하지 않았다
워크시트에서 사용하던 프로시져나 함수를 그대로 약간의 수정을 한후
사용한다면 하나의 프로시져나 함수로 두개의 인터페이스를 만족 시킬수
있을것이고 그렇게 하여야 엑셀프로그래밍을 잘 하는 방법이다


새로 추가된 기능은 UserForm이 로딩될때
콤보상자가 빈탕으로 로딩 되어 사용자가 알파벳을 크릭한후
다시 콤보상자의 숙어를 선택하여야 내용을 볼수 있는 절차가 요구된다
무언가 로딩될때 랜덤으로 보여주는것이 좋은 써비스가 될것이다

  • 어떤 알파벳을 크릭하는 효과를 낼것인지 난수로 알파벳을 선정하고
    전달 프로시져에 전달하여 콤보상자를 채운다
  • 콤보상자의 숙어도 리스트된 숙어의 갯수를 카운트하여
    랜덤으로 숙어를 선택한다
  • 선택된 숙어의 예문의 갯수를 카운트하여 하나 이상이면
    예문이동 버튼을 보이게 하고 현재 몇개의 예문중 첫째것이 선택된
    상태라는것을 알려준다

위와 같은 내용을 하여야 할것이다
여러개의 예문이 있을때 다음 예문을 보기 위하여 다시 데이타시트에서
찾아 내야 할까??
아니면 어딘가에 보따리에 쌓두었다가 필요할때 꺼내오도록 할까??
와 같은 문제를 풀어 보도록 한다

또한 지난 화일에서
잘못된 내용이 두가지 있었다
하나는 IsEmpty()함수를 적절히 사용하지 않아서 발생한
UserForm에서는 되는데 Worksheet에서는 안되는 황당함을 갖여 왔다
더불어 VBA에서의 변수선언을 하면
Dim iX As Integer
Dim rX As Range
Dim sX As String
등과 같이 선언만 해놓고 아직 사용하지 않은 상태에서는 과연
어떤 값들로 초기화 되어 있을까??
다른 언어와는 틀리게 디폴트값으로 초기화가 되어 있다
IsEmpty()함수와 더불어 변수를 좀더 가깝게
이해하도록 하자

또 하나의 실수는
Range.Offset(,3) 이라고 표현해야 할것을
Range.Offset(3)이라고 표현하여 엉뚱한 값을 갖여 오게 한 죄가 있다
Range.Offset(0,3)이라고 하면 실수가 없을것을 대개가 단축적으로
표현한다고 하다가..졸면서 엉뚱한 짓을 하기도 한다

다음 시간에는 정보의 수정과 입력과 삭제를 하도록 해보자


English Idioms Book_006.