VBA 문자열 자르기 :: Splitter 명령문 사용법 총정리
엑셀 Splitter 명령문 목차 바로가기
요약
시작문자와 마지막문자를 지정하여 두 문자 사이의 문자열을 추출하는 사용자지정 함수입니다.
명령문 구문
= Splitter ( 문자열, 시작문자, [마지막문자] )
사용된 인수 및 변수 알아보기
인수 | 설명 |
문자열 [Variant] |
원본 문자열입니다. |
시작문자 [String] |
문자열 추출을 시작할 기준이 되는 문자입니다. 시작 문자가 종료된 지점부터 문자열을 추출합니다.
예를들어, Splitter("합계:123", "합계:") 는 "123"을 반환합니다. |
마지막문자 [String, 선택인수] |
문자열 추출을 종료할 기준 문자입니다. 마지막문자가 시작된 지점을 기준으로 문자열 추출을 종료합니다. 마지막 문자가 생략 될 경우 시작문자 이후 값을 모두 반환합니다.
예를들어, Splitter("합계:123원","합계:","원") 은 "123"을 반환합니다. |
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀VBA함수] Splitter 함수예제파일
상세 설명
문자열의 시작문자와 마지막문자를 지정하여 두 문자 사이의 문자열을 추출하는 사용자 지정 함수입니다. 기존의 MID 함수를 사용시에는 특정 두 문자 사이의 값을 추출하는데 어려움이 있었으나, Splitter 함수를 사용하면 손쉽게 두 문자 사이의 값을 추출할 수 있습니다.
3번째 인수인 '마지막문자'의 기본값은 NULL 입니다. 따라서 마지막문자가 생략될 경우 Splitter 함수는 시작문자 이후의 모든 문자를 결과값으로 반환합니다.
Splitter 함수로 오류가 반환되면 함수의 결과값으로 공백("")이 반환됩니다.
실전 사용 예제
- HTML 의 <div> 태그 사이값 추출하기
=Splitter("<div class="nav">메뉴</div>","<div class="nav">","</div">
=메뉴 - JSON 데이터의 특정 필드 값 추출하기
=Splitter("[ { "color":"red", "value":"#f00" }, { "color":"blue", "value":"#00f" } ]","""color"":",",")
="red"
VBA 텍스트 자르기, Splitter 명령문 동작원리
Splitter 명령문 전체 코드
Function Splitter(v As Variant, Cutter As String, Optional Trimmer As String) '############################################################### '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com) '▶ Splitter 함수 '▶ Cutter ~ Timmer 사이의 문자를 추출합니다. (Timmer가 빈칸일 경우 Cutter 이후 문자열을 추출합니다.) '▶ 인수 설명 '_____________v : 문자열입니다. '_________Cutter : 문자열 절삭을 시작할 텍스트입니다. '_________Trimmer : 문자열 절삭을 종료할 텍스트입니다. (선택인수) '▶ 사용 예제 'Dim s As String 's = "{sa;b132@drama#weekend;aabbcc" 's = Splitter(s, "@", "#") 'msgbox s '--> "drama"를 반환합니다. '############################################################### Dim vaArr As Variant On Error GoTo EH: vaArr = Split(v, Cutter)(1) If Not IsMissing(Trimmer) Then vaArr = Split(vaArr, Trimmer)(0) Splitter = vaArr Exit Function EH: Splitter = "" End Function
명령문 동작원리 단계별 알아보기
- VBA 문자열 자르기 위한 변수를 선언합니다.
Dim vaArr As Variant
- 시작문자를 기준으로 이후 문자를 잘라냅니다.
vaArr = Split(v, Cutter)(1)
- 마지막문자가 있을 시 마지막문자 이전 문자를 잘라냅니다.
If Not IsMissing(Trimmer) Then vaArr = Split(vaArr, Trimmer)(0)
- 결과값을 반환한 뒤 함수를 종료합니다.
Splitter = vaArr
- HTML 의 <div> 태그 사이값 추출하기