엑셀 범위 문자열 합치기 :: CombineText 명령문 사용 예제
엑셀 CombineText 명령문 목차 바로가기
요약
엑셀 CombineText 함수는 VBA 에서 사용하면 편리한 범위 내 문자열을 합치는 명령문입니다.
명령문 구문
= CombineText ( 범위, [구분기호] )
사용된 인수 및 변수 알아보기
인수 | 설명 |
범위 [Range] |
문자열로 합칠 값이 입력된 범위입니다. |
구분기호 [Variant, 선택인수] |
문자열을 합칠 때 사용할 구분기호입니다. 기본값은 줄바꿈입니다. |
예제파일 다운로드
오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.
- [엑셀VBA함수] CombineText 함수예제파일
상세 설명
엑셀 CombineText 함수는 범위에 입력된 값을 한 문장으로 합치는 명령문입니다. 엑셀에서 기본으로 제공하는 TEXTJOIN 함수와 동일하게 동작합니다. 하지만 TEXTJOIN 함수를 VBA에 사용하려면 각 인수의 조건을 맞춰야 하는 번거로움이 있어, VBA 명령문을 작성할 때는 CombineText 함수를 사용하는 것이 편리합니다.
실전 사용 예제
- 범위에 입력된 값을 한 문자열로 합치기
Sub Test() With Sheet1 .Range("A1").Value = "안녕하세요." .Range("A2").Value = "반갑습니다." .Range("A3").Value = "오늘 날씨가 좋네요!" MsgBox CombineText(.Range("A1:A3"), " ") End With ' 안녕하세요. 반갑습니다. 오늘 날씨가 좋네요!가 반환됩니다. End Sub
엑셀 범위 문자열 합치기, CombineText 명령문 동작원리
CombineText 명령문 전체 코드
Function CombineText(Rngs, Optional delimiter = vbNewLine) As String '############################################################### '오빠두엑셀 VBA 사용자지정함수 (https://www.oppadu.com) '▶ ConbineText 함수 '▶ 여러 범위의 값을 하나의 문자열로 합칩니다. '▶ 인수 설명 '_____________Rngs : 문자열로 변환할 범위입니다. '_____________Delimiter : 각 셀의 문자열을 합칠 때 구분할 구분기호입니다. 기본값은 줄바꿈입니다. '▶ 사용 예제 'Dim s As String 's = CombineText(Sheet1.Range("A1:A10")) '############################################################### Dim vaRng As Range: Dim Rng As Range Dim sResult As String If TypeName(Rngs) = "Range" Then For Each vaRng In Rngs For Each Rng In vaRng If Rng <> "" Then sResult = sResult & Rng & delimiter Else sResult = sResult & delimiter End If Next Next sResult = Left(sResult, Len(sResult) - Len(delimiter)) Else sResult = Rngs End If CombineText = sResult End Function
- 범위에 입력된 값을 한 문자열로 합치기