책 내용 질문하기
엑셀 vba관련 기출문제 질문드립니다.
도서
[2012] 컴퓨터활용능력 1급 실기(엑셀, 액세스 2007 사용자용)
페이지
105
조회수
42
작성일
2012-12-05
작성자
첨부파일

2012시나공 컴활1급 기준

104.105페이지에 있는 기출따라잡기 문제중 2번 문제에서

프로시저를 아래와 같이 바꿨더니 g22셀이 -68이 나옵니다. 왜그런건가요 해답부탁드립니다.

Public Function F단가(도서코드, 정가)

If mid(도서코드,3,3) = "-" Then


F단가 = Round(정가 / Mid(도서코드, 3, 2), 0)

Else

F단가 = Round(정가 / Mid(도서코드, 3, 3), 0)


End If

End Function
답으로나온 프로시저는 아래와 같습니다.ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
Public Function F단가(도서코드, 정가)
If Len(도서코드) = 7 Then


F단가 = Round(정가 / Mid(도서코드, 3, 3), 0)

Else

F단가 = Round(정가 / Mid(도서코드, 3, 2), 0)


End If

End Function
답변
2012-12-06 09:50:51

안녕하세요.

mid(도서코드,3,3)는 도서코드의 세번째 글자부터 세글자를 표시하라는 것으로 130, 250, 271 등과 같이 숫자가 표시됩니다. 그런데 이것을 '-'과 같냐고 비교를 하셨으니 당연히 결과가 나오지 않습니다. 님의 코드를 올바르게 수정하면 if문 부분을 'If mid(도서코드,5,1) = "-" Then'으로 수정하면 됩니다.

즐거운 하루 되세요.

"
  • *
    2012-12-06 09:50:51

    안녕하세요.

    mid(도서코드,3,3)는 도서코드의 세번째 글자부터 세글자를 표시하라는 것으로 130, 250, 271 등과 같이 숫자가 표시됩니다. 그런데 이것을 '-'과 같냐고 비교를 하셨으니 당연히 결과가 나오지 않습니다. 님의 코드를 올바르게 수정하면 if문 부분을 'If mid(도서코드,5,1) = "-" Then'으로 수정하면 됩니다.

    즐거운 하루 되세요.

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