오빠두엑셀 `2026 무료 챌린지` 오픈! 완주하고 수료증 받아가세요! 5년 연속 IT분야 베스트셀러! 「 진짜쓰는 실무엑셀 」로 2026년 공부 끝내기 엑셀이 막히셨나요? Q&A 게시판에서 바로 해결하세요.
메뉴

엑셀 범위 문자열 합치기 :: CombineText 명령문 예제

범위 내 문자열을 하나로 합치는 CombineText 함수의 전체 명령문과 사용예제를 알아봅니다

작성자 :
오빠두엑셀
최종 수정일 : 2021. 10. 30. 18:56
URL 복사
메모 남기기 : (5)

엑셀 범위 문자열 합치기 :: CombineText 명령문 사용 예제

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

엑셀 CombineText 함수는 VBA 에서 사용하면 편리한 범위 내 문자열을 합치는 명령문입니다.

명령문 구문
= CombineText ( 범위, [구분기호] )
사용된 인수 및 변수 알아보기
인수 설명
범위
[Range]
문자열로 합칠 값이 입력된 범위입니다.
구분기호
[Variant, 선택인수]
문자열을 합칠 때 사용할 구분기호입니다. 기본값은 줄바꿈입니다.

예제파일 다운로드

오빠두엑셀의 강의 예제파일은 여러분을 위해 자유롭게 제공하고 있습니다.


상세 설명

엑셀 CombineText 함수는 범위에 입력된 값을 한 문장으로 합치는 명령문입니다. 엑셀에서 기본으로 제공하는 TEXTJOIN 함수와 동일하게 동작합니다. 하지만 TEXTJOIN 함수를 VBA에 사용하려면 각 인수의 조건을 맞춰야 하는 번거로움이 있어, VBA 명령문을 작성할 때는 CombineText 함수를 사용하는 것이 편리합니다.

실전 사용 예제
  1. 범위에 입력된 값을 한 문자열로 합치기
    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
댓글 5
5 (4개 평가)
오슭카
오슭카 2021.11.11 10:16
좋은 자료 감사합니다.
WooBeom
WooBeom 2022.01.06 08:27
감사합니다. 질문을 많이 할 것 같습니다.
Muni
Muni 2022.05.04 17:14
좋은 정보 감사드립니다!
여쭤보고 싶은 사항이 있어 댓글 남깁니다!

해당 VBA 코드를 활용한다면
A1 : 검정색, 볼드체 적용
A2 : 빨간색, 볼드체 미적용
라고 가정하였을때, 모든 글꼴 스타일이 삭제되고
검정색, 볼드체 미적용 상태로 입력이 되게 되는데..

해당 VBA코드를 응용하여 각 셀에 다르게 적용된 글꼴 스타일(ex. 글꼴색상, 볼드체 옵션 등등)을 유지하면서 문자열을 합칠 수 있을까요?
오빠두엑셀
오빠두엑셀 작성자 2022.05.04 18:14
안녕하세요.
본 명령문 소스로는 불가능하고 다른 코드를 응용하셔야 합니다.
아래 링크를 한번 확인해보세요.
https://www.exceldemy.com/excel-vba-paste-special-keep-source-formatting/
강민준🤗
강민준🤗 2024.08.11 12:04
좋은 자료 감사합니다.🙇‍♂️