Please Enable JavaScript!
Gon[ Enable JavaScript ]

엑셀 VBA 연산자 사용해서 String 문자열을 합치기

엑셀(Excel)/VBA
반응형

연결 연산자는 여러 문자열을 하나로 합치는 역할을 합니다. 그런 연산자에는 두 가지가 있는데 “&” “+” 입니다. 보통 문자열을 합칠 때 “&” 만 된다고 생각하실 텐데 “+” 연산자도 문자일 경우 가능합니다. 하지만 문자열 + 숫자는 가능하지 않습니다.

 

 

아래 샘플은 “+” “&” 연산자를 이용한 문자열 더하기 입니다. 두 개의 변수에 각각 String 을 넣고 연산자를 사용해 합친 다음 Msgbox 로 결과값을 출력하는 내용입니다. 둘 다 같은 결과가 출력됩니다.

 

Sub StringSum1()
 
    Dim strOne, strTwo As String
   
    strOne = "안녕하세요!"
    strTwo = "녹두장군 입니다."
   
    Msgbox strOne + strTwo
   
End Sub

 

Sub StringSum2()
 
    Dim strOne, strTwo As String
   
    strOne = "안녕하세요!"
    strTwo = "녹두장군 입니다."
   
    Msgbox strOne & strTwo
   
End Sub

 

 

아래 샘플은 두 함수를 실행한 결과 입니다. Msgbox 박스를 띄워서 합쳐진 결과를 보여 주고 있습니다.

엑셀 VBA 연산자를 사용해서 String 문자열을 합치는 방법들은 무엇일까요

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 연산자 String 문자열을 합치는 방법들은 무엇일까요
엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법
엑셀(Excel) - VBA 숫자를 문자로 변환하는 방법
엑셀 VBA 문자열 자르기, LEFT RIGHT 함수를 이용해 문자열 추출하기
셀 VBA 문자열, 텍스트 숫자를 문자열 숫자로 변경하는 방법

 

 

그럼 아래와 같이 중간에 숫자를 합치는 경우에는 어떻게 될까요? 여기서 두 연산자의 차이가 나게 됩니다. “&” 연산자는 숫자에 상관없이 모두 문자열로 바꿔서 합치게 되는데 “+” 는 숫자로 인식하기 때문에 strOne + 1 + strTwo 식은 런타임 에러가 나게 됩니다. 

 

Sub StringSum2()
 
    Dim strOne, strTwo As String
   
    strOne = "안녕하세요!"
    strTwo = "녹두장군 입니다."
   
    Msgbox strOne & 1 & strTwo ‘’ 정상 출력
    Msgbox strOne + 1 + strTwo ‘’ 런타임 에러
   
End Sub

 

 

아래 그림처럼 중간에 들어간 1 이라는 숫자는 “&” 연산자를 이용했을 때 문자로 인식해서 합쳐 지게 됩니다. 두 연산자의 차이를 이해하시겠죠.  

엑셀 VBA 연산자를 사용해서 String 문자열을 합치는 방법들은 무엇일까요

 ※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다.
엑셀 VBA 연산자 String 문자열을 합치는 방법들은 무엇일까요
엑셀 VBA 주민번호, 이메일 문자열 잘라 내는 방법
엑셀(Excel) - VBA 숫자를 문자로 변환하는 방법
엑셀 VBA 문자열 자르기, LEFT RIGHT 함수를 이용해 문자열 추출하기
셀 VBA 문자열, 텍스트 숫자를 문자열 숫자로 변경하는 방법
반응형
Posted by 녹두장군

댓글을 달아 주세요

  1. 김성겸 2016.04.10 17:36  댓글주소  수정/삭제  댓글쓰기

    A1셀에 "1. 안녕하세요?" 라는 텍스트가 입력되있고
    B2~ B20셀 까지는 알파벳 소문자가 "a"부터 순서대로 입력되있습니다.
    C2~C20셀 까지는 "히가세","히오세","하시지","해","한가"....등 여러가지 단어들이 입력되 있습니다.

    B열의 입력된 값을 이용해서 A1셀의 "1"이 알파벳 "a"로 바뀌고
    C열의 입력된 값을 이용해서 A1셀의 "하세"가 C열의 입력값으로 같이 변환되어 A2셀~A20셀까지
    입력되길 바라는데...vba로 어떻게 해야하는 건지 입문자인 저로서는 너무 어렵네요...

    훌륭한 가르침 부탁드립니다.

    • Favicon of https://mainia.tistory.com 녹두장군 2016.04.10 18:41 신고  댓글주소  수정/삭제

      A1 셀을 LEFT 나 RIGHT 함수로 자릅니다. 자른 글씨를 B 와 C 에서 가져와 바꿉니다. 그리고 텍스트를 합치면 되겠죠. 구현해 보시고 안되는 부분만 디테일하게 질문해 주세요.