본문 바로가기

엑셀/VBA

VBA 내장 함수 - Join 함수

반응형

이전 글에서 문자열을 분리하는 Split 함수에 대해 알아보았습니다. 이번에는 문자열을 합치는 Join 함수에 대해 알아보겠습니다.

 

VBA 내장 함수 - Split 함수

 

VBA 내장 함수 - Split 함수

VBA 내장 함수중 Split 함수가 있습니다. Split 함수는 주어진 데이터를 구분 기호에 의해 분리할 때 사용하는 함수입니다. VBA 내장 함수 - Array 함수 VBA 내장 함수 - Array 함수 이전 글에서 날짜, 시간

mr-johndoe.tistory.com

 

 

 

 

1. Join 함수

Join 함수는 Split 함수와 반대로 주어지는 문자열을 합치는 함수입니다. 데이터를 가진 일차원 배열을 입력받아 배열 내에 있는 데이터를 구분 기호로 구분하여 연결합니다.

 

사용하는 방법은 다음과 같습니다.

 

  Join ( 일차원 배열, 구분 기호)

 

2. 예제로 Join 함수 확인

엑셀을 열고 엑셀 시트 B2 셀에 '안녕'을, C2 셀에 '하세요'를 입력합니다. 그리고, VBE를 실행합니다. VBE 창이 열리면 Module을 생성하고 다음과 같이 코드를 작성합니다.

 

   Public Sub Join함수()

     Dim s() As Variant

 

     ReDim s(2)

 

     s(0) = Range("B2").Value

     s(1) = Range("C2").Value

 

     Range("D2") = Join(s, "")

   End Sub

 

작성을 다하고 실행을 시키면 D2 셀에 '안녕하세요'라고 입력되는 것을 보실 수 있습니다.

 

 

 

 

이번에는 코드를 Sub 프로시저가 아닌 Function으로 만들어 함수처럼 사용하도록 만들어 보겠습니다.

Function에 관해서는 아래 링크의 이전 글을 확인하시기 바랍니다.

 

엑셀 VBA - Function 프로시저

 

엑셀 VBA - Function 프로시저

이전 글에서 Sub 프로시저에 대해 알아보았습니다. 이번에는 엑셀의 함수와 같은 Function 프로시저에 대해 알아보겠습니다. 엑셀 VBA - Sub 프로시저 엑셀 VBA - Sub 프로시저 엑셀 VBA에서 매크로를 작

mr-johndoe.tistory.com

 

Module 창에 다음과 같이 작성합니다.

 

   Public Function 문자합(범위 As Range)

      Dim 셀 As Range

      Dim s() As Variant

      Dim i As Integer

 

      i = 0

 

      For Each 셀 In 범위

         ReDim Preserve s(i)

         s(i) = 범위.Cells(i + 1).Value

         i = i + 1

      Next

 

     문자합 = Join(s, "")

   End Function

 

작성을 완료한 후 엑셀 시트 임의의 셀에 '=문자합(B2:C2)'를 입력하면 '안녕하세요'가 나타납니다.

 

반응형

'엑셀 > VBA' 카테고리의 다른 글

VBA WorksheetFunction 사용  (0) 2021.10.13
VBA 수식 입력하기 - Formula  (0) 2021.10.12
VBA 내장 함수 - Split 함수  (0) 2021.10.11
VBA 내장 함수 - Array 함수  (0) 2021.10.09
VBA 내장 함수 - Date, Time, Now, DateSerial, DateValue  (0) 2021.10.05