MS 오피스 팁/Excel

Excel 함수와 VBA 내장 함수 비교

노하우저장소 2022. 10. 23.

엑셀 함수와 VBA 함수 사이에 비슷하면서도 차이가 있는 항목들이 있습니다.

이런 것들은 영원히 헷갈릴 예정이기 때문에 그때 그때 정리를 해두면 편리합니다.

관련 함수를 만날 때 마다 업데이트를 하겠습니다.

Excel VBA 추가 설명
FIND
SEARCH
InStr
InStrRev
FIND는 대소문자 구문, SEARCH는 대소문자 구분 않음
InStr는 옵션에서 대소문자 구분 여부 선택 가능
InStrRev는 오른쪽에서 부터 위치 찾음
SUBSTITUTE Replace  
LEFT
MID
RIGHT
Left
Mid
Right
서로 동일하게 사용하며 작동함. 단 Excel 함수는 그 결과가 텍스트 형식
VBA의 Mid함수에서 길이 인수 생략하면 텍스트의 마지막까지 반환됨
ISBLANK IsEmpty 동일
LEN Len
LenB
LenB는 바이트수로 세어줌
IF IIf 동일
DATE DateSerial 년, 월, 일을 각각 입력한 뒤 날짜로 반환
TODAY Date 날짜 반환
- Time 시간 반환
NOW Now 날짜 + 시간 반환

VBA에서 제공하지 않는 Excel 함수도 다음과 같이하면 사용이 가능합니다.

  • WorksheetFunction.엑셀함수
  • Application.엑셀함수 

두 가지 방법이 있는 이유는 바로 에러 처리 방법 차이입니다.

WorksheetFunction은 에러 창이 발생하며, Application은 #N/A가 엑셀에 표시됩니다.

에러 핸들링이 필요한 고급 활용의 경우 WorksheetFunction이 적합하겠고, 심플한 매크로인 경우 Application 방식이 사용하기 쉽겠네요.

이상입니다.

댓글