엑셀 VBA에서 Split 함수를 사용하여 텍스트를 구분자로 나누어 배열로 반환 방법


엑셀 VBA 프로그램을 작성할 때 텍스트를 특정 구분자, 예를 들면 쉼표(,), 마침표(.), 탭(Tab), 공백(Space), 줄 바꿈과 같은 구분자로 문자열을 나누어 처리하는 작업을 구현해야 할 때가 있습니다.

VBA 프로그램 내에서 텍스트 문자열을 구분자로 나누어야 할 경우도 있고, 셀의 텍스트 데이터를 구분자로 나누어 처리해야 하는 경우도 있습니다.

이렇게 나누어진 문자열을 다른 셀에 입력하거나 조건문의 판단 기준으로 사용하기도 합니다.

이번 글에서는 엑셀 VBA에서 Split 함수를 사용하여 텍스트를 구분자로 나누어 배열로 반환 방법에 대해 간단한 예제를 통해 알아보겠습니다.

VBA 프로그램 내에서 String 변수의 문자열을 구분자로 나누는 방법

▶ VBA 프로그램 내부에서 선언한 String 변수의 텍스트 문자열을 쉼표(,) 구분자로 나누어 문자열 배열에 넣고 활용하는 방법에 대한 예제입니다.

  • 문자열를 구분자로 나누기 위해 SPLIT 함수를 사용하였습니다.
  • Split 함수로 문자열을 구분자로 나누는 경우 결과 값은 문자열 배열로 반환하게 됩니다.
  • 문자열 배열은 Index가 0부터 시작합니다.
    만약 나누어진 결과 값에서 세 번째 문자열을 가져오려면 인덱스 값으로 2을 입력하면 됩니다.
Sub Split_Test()
 
    Dim str As String
    Dim result As Variant
    
    str = “Programming,SAP,Office,Computer,Lifestyle”
    
    ‘구분자 쉼표(,)로 나누어 문자열 배열에 넣기
    result = Split(str, “,”)
    
    MsgBox result(2)    ‘배열은 0부터 시작
 
End Sub
 
엑셀 VBA에서 Split 함수를 사용하여 텍스트를 구분자로 나누어 배열로 반환 방법 1

VBA에서 특정 셀의 텍스트 문자열을 구분자로 나누어 다른 셀의 텍스트로 입력하는 방법

▶ 엑셀의 특정 셀 텍스트를 VBA 프로그램에서 지정된 구분자로 문자열을 나누어 문자열 배열에 넣고 활용하는 방법에 대한 설명입니다.

  • A1 셀 텍스트를 구분자로 나누어 A3, B3, C3 셀에 각각 텍스트로 입력하는 예제입니다.
  • 줄 바꿈을 구분자로 사용하기 위해 ‘Char(10)’이라고 아스키(ASCII)코드 번호를 지정해 주었습니다.
Sub Split_Test()
 
    Dim result As Variant
    
    ‘셀(1,1) 텍스트에서 줄 바꿈을 구분자로 문자열 배열에 넣기
    result = Split(Cells(11).Value, Chr(10))
    
    ‘셀(3,1), 셀(3,2), 셀(3,3)에 각 배열의 텍스트 나누어 넣기
    Cells(31).Value = result(0)
    Cells(32).Value = result(1)
    Cells(33).Value = result(2)
 
End Sub
엑셀 VBA에서 Split 함수를 사용하여 텍스트를 구분자로 나누어 배열로 반환 방법 2

결론

엑셀 VBA 프로그램에서 텍스트 문자열을 구분자로 나누기 위해 SPLIT 함수를 사용하면 됩니다.
SPLIT 함수로 문자열을 나누는 경우 문자열 배열로 결과 값이 반환 됩니다.
배열의 인덱스는 0부터 시작하며 반환된 문자열 배열을 이용하여 텍스트를 활용하면 됩니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기