메뉴

Splitter

Function

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

Splitter 코드 미리보기
구문 = Splitter ( 문자열, 시작문자, [마지막문자] )
인수구분 형식 설명
문자열 필수 Variant
원본 문자열입니다.
시작문자 필수 String
문자열 추출을 시작할 기준이 되는 문자입니다. 시작 문자가 종료된 지점부터 문자열을 추출합니다.
예를 들어 Splitter("합계:123", "합계:") 는 "123"을 반환합니다.
마지막문자 선택 String
문자열 추출을 종료할 기준 문자입니다. 마지막 문자가 시작된 지점에서 추출을 종료하며, 생략하면 시작문자 이후 값을 모두 반환합니다.
예를 들어 Splitter("합계:123원","합계:","원") 은 "123"을 반환합니다.

마스터 코드

복사한 코드는 VBA 편집기(Alt + F11) 새 모듈에 붙여넣어 사용하세요
Module1 · 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

활용 예제

HTML 태그 사이의 값 추출하기
= Splitter ( "<div class=""nav"">메뉴</div>", "<div class=""nav"">", "</div>" )
'// '메뉴' 를 반환합니다.
JSON 데이터에서 특정 필드 값 추출하기
= Splitter ( "[ { ""color"":""red"", ""value"":""#f00"" }, { ""color"":""blue"", ""value"":""#00f"" } ]", """color"":", "," )
'// "red" 를 반환합니다.

안내사항

마지막문자의 기본값은 NULL 이므로, 생략하면 시작문자 이후의 모든 문자를 반환합니다.
함수 실행 중 오류가 발생하면 결과값으로 공백("")을 반환합니다.
댓글 5
5 (4개 평가)
vba를 파이썬으로
vba를 파이썬으로 2021.11.02 11:15
매번 좋은 함수 만들어 주셔서 감사합니다~
모두 유용하게 쓰고 있습니다 ㅎ
WooBeom
WooBeom 2022.01.06 08:23
신기함의 연속입니다.
Mansing98
Mansing98 2022.08.24 17:45
안녕하세요. 좋은 강의 감사드립니다. 그런데 제가 네이버 연관검색어 & 부동산 웹 크롤링 강의를 들으면서 splitter를 사용하려 하는데 실행할 때마다 에러9번(아래 첨자 사용이 잘못되었습니다)가 나타납니다. 분명히 똑같이 코드를 작성했는데도 말이죠ㅜㅜ 어떻게 해결해야 할까요?
vaArr = Split(v, Cutter)(1)
이 라인에 문제가 있다고 뜹니다.
오빠두엑셀
오빠두엑셀 작성자 2022.08.27 19:23
안녕하세요!^^
네이버 연관검색어 쿼리 결과가 바뀌어서 그렇습니다.
기존 연관검색어의 코드를 아래처럼 수정해보세요.
strResult = Splitter(strResult, "items"" : [" & Chr(10) & "[", "]" & Chr(10))
강민준🤗
강민준🤗 2024.08.11 13:02
좋은 자료 감사합니다.🙇‍♂️
스크랩 완료