책 내용 질문하기
액세스 이벤트 프로시져에서는 if 와 iif 둘다 사용되나요?
도서
[2014] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
204
조회수
175
작성일
2016-09-09
작성자
첨부파일

p204 문제2 의 5번 문제입니다.하위 폼의 납품수량 컨트롤에 포커스가 이동(gotfocus)시, 메세지박스를 구현하는 문제인데요.

문제의 정답은,

Private Sub 납품수량_GotFocus()

If 납품수량 >= 100 Then
MsgBox "우량 납품처", vbOKOnly, "거래처등급"

ElseIf 납품수량 >= 50 Then
MsgBox "일반 납품처", vbOKOnly, "거래처등급"
Else
MsgBox "불량 납품처", vbOKOnly, "거래처등급"
End If

End Sub
입니다.

저는 이문제를 어찌하다보니, iif함수를 써서

Private Sub 납품수량_GotFocus()
MsgBox IIf(납품수량 >= 100, "우량납품처", IIf(납품수량 >= 50, "일반납품처", "불량납품처")), vbOKOnly, "거래처등급"

End Sub

라고 풀게되었는데, 정답과 똑같이 구현이되긴 했는데... 액세스 이벤트 프로시져에서는 if 와 iif 둘다 사용되나요?

답변
2016-09-09 20:32:12

이 글은 질문에 대한 답변 글은 아니고요,

엑셀 사용자 정의 함수에 If문 대신에 Iif 문을 사용해도 되는 것이 신기해서 글을 써 봅니다.

아래 기출 문제를 이용하여 Iif문으로 변경해서 작성해보았습니다!

컴활1급 실기 엑셀 2015년 상시(2회)

201503_1급\15년상시\1급E형정답.xlsm 시나공 메뉴: 프리미엄존 - 시험대비자료

문제2 계산작업 (pdf 파일 153쪽)
3. 사용자 정의 함수 'fn비고'를 작성하여 [표1]의 [I3:I27] 영역에 비고를 계산하여 표시하시오.
▶ 비고는 구매건수가 50 이상이고, 구매금액이 15,000,000 이상이면 "VIP고객",
그렇지 않으면 빈칸으로 표시하시오.
Public Function fn비고(구매건수, 구매금액)

End Function
정답: pdf 파일 159쪽
201503_1급\15년상시\1급E형정답.xlsm
Public Function fn비고(구매건수, 구매금액)
If 구매건수 >= 50 And 구매금액 >= 15000000 Then
fn비고 = "VIP고객"
Else
fn비고 = ""
End If
End Function

--------------------------
위 정답 프로시저를 아래와 같이 Iif문으로 변경해서 작성했습니다.
엑셀 사용자 정의 함수에서 If문 Iif 문
Public Function fn비고(구매건수, 구매금액)
fn비고 = Iif(구매건수 >= 50 And 구매금액 >= 15000000, "VIP고객", "")
End Function
<끝>
결과도 정답과 같이 정상적으로 나오네요!
시험에서 정답으로 인정되는지는 잘 모르겠습니다.
  • *
    2016-09-09 20:32:12

    이 글은 질문에 대한 답변 글은 아니고요,

    엑셀 사용자 정의 함수에 If문 대신에 Iif 문을 사용해도 되는 것이 신기해서 글을 써 봅니다.

    아래 기출 문제를 이용하여 Iif문으로 변경해서 작성해보았습니다!

    컴활1급 실기 엑셀 2015년 상시(2회)

    201503_1급\15년상시\1급E형정답.xlsm 시나공 메뉴: 프리미엄존 - 시험대비자료

    문제2 계산작업 (pdf 파일 153쪽)
    3. 사용자 정의 함수 'fn비고'를 작성하여 [표1]의 [I3:I27] 영역에 비고를 계산하여 표시하시오.
    ▶ 비고는 구매건수가 50 이상이고, 구매금액이 15,000,000 이상이면 "VIP고객",
    그렇지 않으면 빈칸으로 표시하시오.
    Public Function fn비고(구매건수, 구매금액)

    End Function
    정답: pdf 파일 159쪽
    201503_1급\15년상시\1급E형정답.xlsm
    Public Function fn비고(구매건수, 구매금액)
    If 구매건수 >= 50 And 구매금액 >= 15000000 Then
    fn비고 = "VIP고객"
    Else
    fn비고 = ""
    End If
    End Function

    --------------------------
    위 정답 프로시저를 아래와 같이 Iif문으로 변경해서 작성했습니다.
    엑셀 사용자 정의 함수에서 If문 Iif 문
    Public Function fn비고(구매건수, 구매금액)
    fn비고 = Iif(구매건수 >= 50 And 구매금액 >= 15000000, "VIP고객", "")
    End Function
    <끝>
    결과도 정답과 같이 정상적으로 나오네요!
    시험에서 정답으로 인정되는지는 잘 모르겠습니다.
  • *
    2016-09-12 12:48:17

    네 결과가 정확히 나온다면 어떻게 사용하셔도 상관 없습니다.

    문제에서 if 문을 이용하라는 지시사항이 있었다면 꼭 if 문으로 작성하세요.

    좋은 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.