2013년 3회 1급 정시기출문제에 대한 질문입니다.
엑셀 문제4-2-1 프로시저 작성문제 중 제일 첫 문제인 MsgBox 문제입니다.
저는
Dim aa
aa = MsgBox(Now(), vbOKOnly)
If aa = vbOKOnly Then
주문입력.Show
cmb공동체.RowSource = "H5:H17"
End If
혹은
If (MsgBox(Now(), vbOKOnly)) = vbOKOnly Then
주문입력.Show
cmb공동체.RowSource = "H5:H17"
End If
와 같이 프로시저 식을 작성해 주었습니다. 하지만 해답은 오히려 더욱 간단한
Msgbox Now()
주문입력폼.show
그리고
cmb공동체.RowSource = "H5:H17"
는 따로 작성을 해 주더군요.
질문1) 문제에서 이니셜라이즈 설정 후 cmb공동체.RowSource를 따로 작성해주란 요구가 없었는데 저렇게 따로 작성해 주어야 하는 이유가 무언가요?
질문2) 메시지박스에서 버튼을 눌러주는 경우에는 Dim함수를 먼저 설정해 주라고 배웠었습니다만, 실전에선 오히려 이 문제처럼 Dim 함수 설정 안해주고 그냥 바로 주문입력폼.Show 라고 써주는 경우가 비일비재 하더라구요, 양자의 차이점이 도대체 무엇인가요? 버튼클릭하는 경우까지 문제에서 요구하는데도 Msgbox Now() 랑 주문입력폼.show 만 써줄수 이유를 모르겠습니다.
질문3) 저 위에 제 방식대로 식을 써준 뒤 시트로 돌아와 <주문입력>버튼 을 클릭해 줘도, 처음에 Msgbox 만 떠주고, 그 다음에 클릭을 해줘도 폼은 뜨지 않습니다. 왜그러는걸까요?
안녕하세요.
질문1) 문제를 보면 메시지 박스는 <주문입력> 버튼을 클릭했을 때 실행하는 것이고, 콤보상자에 값을 표시하는 것은 폼을 초기화 했을 때 지정하라고 제시되어 있습니다. 그러니 문제에 제된대로 작성해야 합니다. 아래는 문제입니다.
<주문입력> 버튼을 클릭하면 아래 <그림>과 같이 현재 날짜와 시간을 표시하는 메시지 박스를 표시한 후 <확인>을 클릭하면 <주문입력폼>이 나타나고, 폼이 초기화 되면 [H5:H17] 영역의 값이 ‘배정공동체(cmb공동체)’ 콤보 상자의 목록에 표시되도록 프로시저를 작성하시오.
질문2) 메시지 박스에 여러 버튼이 있고, 어떤 버튼을 누르냐에 따라 실행하는 것이 다르다면 특정변수(aa)에 msgbox 값을 저장한 후 if문으로 조건을 지정해야 합니다. 하지만 메시지 박스에 확인 버튼 하나만(vbOKOnly) 있다면 필요 없겠죠.
질문3) 님이 작성한 코드 중 아래 빨강색 표시한 부분을 수정하세요.
If (MsgBox(Now(), vbOKOnly)) = vbOK Then
주문입력폼.Show
즐거운 하루 되세요.
"-
*2014-08-28 09:37:00
안녕하세요.
질문1) 문제를 보면 메시지 박스는 <주문입력> 버튼을 클릭했을 때 실행하는 것이고, 콤보상자에 값을 표시하는 것은 폼을 초기화 했을 때 지정하라고 제시되어 있습니다. 그러니 문제에 제된대로 작성해야 합니다. 아래는 문제입니다.
<주문입력> 버튼을 클릭하면 아래 <그림>과 같이 현재 날짜와 시간을 표시하는 메시지 박스를 표시한 후 <확인>을 클릭하면 <주문입력폼>이 나타나고, 폼이 초기화 되면 [H5:H17] 영역의 값이 ‘배정공동체(cmb공동체)’ 콤보 상자의 목록에 표시되도록 프로시저를 작성하시오.
질문2) 메시지 박스에 여러 버튼이 있고, 어떤 버튼을 누르냐에 따라 실행하는 것이 다르다면 특정변수(aa)에 msgbox 값을 저장한 후 if문으로 조건을 지정해야 합니다. 하지만 메시지 박스에 확인 버튼 하나만(vbOKOnly) 있다면 필요 없겠죠.
질문3) 님이 작성한 코드 중 아래 빨강색 표시한 부분을 수정하세요.
If (MsgBox(Now(), vbOKOnly)) = vbOK Then
주문입력폼.Show즐거운 하루 되세요.
"