MS 오피스 팁/Excel
Excel 함수와 VBA 내장 함수 비교
노하우저장소
2022. 10. 23. 17:40
엑셀 함수와 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 방식이 사용하기 쉽겠네요.
이상입니다.