책 내용 질문하기
사용자 정의 함수 F단가
도서
2019 시나공 컴퓨터활용능력 1급 실기
페이지
117,118
조회수
124
작성일
2019-09-16
작성자
탈퇴*원
첨부파일

F단가를 다음과 같은 식으로 정의하면 안 되는 건지 궁금합니다

 

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

    Dim a1, a2, 페이지수 as Integer

    a1 = Search("-", 도서코드, 1) + 1

    a2 = Search("-", 도서코드, a1+1)

    페이지수 = Mid(도서코드, a1, a2 - a1)

    F단가 = Round(정가 / 페이지수, 0)

End Function

 

이렇게 식을 작성하고 실행하면

컴파일 오류라며 function이 정의되지 않았다고 뜹니다.

어디가 문제인지 알려주시면 감사하겠습니다.

답변
2019-09-17 20:57:28

안녕하세요.

 

VBA에서 사용하는 함수와 엑셀 함수가 동일하지 않습니다.

컴파일 오류는 VBA가 Search  함수를 인식하지 못해서 발생한 것입니다.

 

좋은 하루 보내세요. 

  • 관리자
    2019-09-17 20:57:28

    안녕하세요.

     

    VBA에서 사용하는 함수와 엑셀 함수가 동일하지 않습니다.

    컴파일 오류는 VBA가 Search  함수를 인식하지 못해서 발생한 것입니다.

     

    좋은 하루 보내세요. 

  • 관리자
    2019-09-19 19:58:35

    안녕하세요.

     

    기본적인 Year(), len(), Round(), Mid(), Left(), Right() 함수 정도입니다.

    물론 더 존재할 수도 있으나, 시험에서는 이 정도가 출제되었습니다.

     

    Date나 Now는 엑셀에도 존재하지만, VBA에서는 괄호없이 보통 사용됩니다.

    함수로 보기 어려운 부분이 있죠.

     

    VBA는 엑셀보다는 비주얼 베이직 함수와 겹치는 부분이 더 많습니다.

    결국 서로 다른 프로그램으로 인식해 주셔야 합니다.

     

    좋은 하루 보내세요.

     

     

     

     

  • *
    2019-09-18 11:43:45
    그렇다면 엑셀과 vba 모두에서 통용되는 함수는 어떤 게 있는지 알려주실 수 있나요?
· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.