VBA 문자열 자르기 :: Splitter 명령문 사용법 및 동작원리

시작문자와 마지막 문자를 지정하여 두 문자 사이의 문자열을 추출하는 Splitter 명령문의 사용법 및 동작원리

홈페이지 » VBA 문자열 자르기 :: Splitter 명령문 사용법

VBA 문자열 자르기 :: Splitter 명령문 사용법 총정리

엑셀 Splitter 명령문 목차 바로가기
요약

시작문자와 마지막문자를 지정하여 두 문자 사이의 문자열을 추출하는 사용자지정 함수입니다.

명령문 구문
= Splitter ( 문자열, 시작문자, [마지막문자] )
사용된 인수 및 변수 알아보기
인수설명
문자열
[Variant]
원본 문자열입니다.
시작문자
[String]
문자열 추출을 시작할 기준이 되는 문자입니다. 시작 문자가 종료된 지점부터 문자열을 추출합니다.

예를들어, Splitter("합계:123", "합계:") 는 "123"을 반환합니다.

마지막문자
[String, 선택인수]
문자열 추출을 종료할 기준 문자입니다. 마지막문자가 시작된 지점을 기준으로 문자열 추출을 종료합니다. 마지막 문자가 생략 될 경우 시작문자 이후 값을 모두 반환합니다.

예를들어, Splitter("합계:123원","합계:","원") 은 "123"을 반환합니다.

예제파일 다운로드

상세 설명

문자열의 시작문자와 마지막문자를 지정하여 두 문자 사이의 문자열을 추출하는 사용자 지정 함수입니다. 기존의 MID 함수를 사용시에는 특정 두 문자 사이의 값을 추출하는데 어려움이 있었으나, Splitter 함수를 사용하면 손쉽게 두 문자 사이의 값을 추출할 수 있습니다.

3번째 인수인 '마지막문자'의 기본값은 NULL 입니다. 따라서 마지막문자가 생략될 경우 Splitter 함수는 시작문자 이후의 모든 문자를 결과값으로 반환합니다.

실전 사용 예제
  1. HTML 의 <div> 태그 사이값 추출하기
    =Splitter("<div class="nav">메뉴</div>","<div class="nav">","</div">
    =메뉴
  2. 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;[email protected]#weekend;aabbcc"
's = Splitter(s, "@", "#")
'msgbox s   '--> "drama"를 반환합니다.
'###############################################################
 
Dim vaArr As Variant
 
vaArr = Split(v, Cutter)(1)
If Not IsMissing(Trimmer) Then vaArr = Split(vaArr, Trimmer)(0)
 
Splitter = vaArr
 
End Function
명령문 동작원리 단계별 알아보기
  1. VBA 문자열 자르기 위한 변수를 선언합니다.
    Dim vaArr As Variant
  2. 시작문자를 기준으로 이후 문자를 잘라냅니다.
    vaArr = Split(v, Cutter)(1)
  3. 마지막문자가 있을 시 마지막문자 이전 문자를 잘라냅니다.
    If Not IsMissing(Trimmer) Then vaArr = Split(vaArr, Trimmer)(0)
  4. 결과값을 반환한 뒤 함수를 종료합니다.
    Splitter = vaArr
guest
0 댓글
Inline Feedbacks
모든 댓글 보기
0
여러분의 생각을 댓글로 남겨주세요.x