티스토리 뷰

이 글에서는 엑셀 VBA에서 자주 사용하는 문자열 처리에 대한 함수의 사용법을 알아보고자 합니다. 엑셀의 특성상 숫자형과 문자열에 대한 자료형이 엑셀 작성시 가장 많이 사용되고 있습니다. 따라서 VBA에서 문자열을 효과적으로 처리하기 위해서는 문자열에 대한 처리를 원활하고 효율적으로 할 줄 알아야 합니다.


이 포스팅에서는 문자열을 잘라내는 Left, Right, Mid 함수와 문자열 길이를 파악하는 Len 함수 그리고 문자열에서 특정 문자열의 시작 인덱스를 파악하는 InStr함수를 알아보도록 하겠습니다. 


위의 기능을 파악하기 위해서 사용하는 테스트 환경은 아래와 같습니다. 엑셀에서 A1에 아래와 같이 텍스트를 입력합니다. 




그리고 Alt + F11을 눌러 Microsoft Visual Basic 창을 열어 아래와 같이 구현을 합니다. 


Dim variable As String


Sub DoStringManupulationFunction()


    variable = Range("A1").Value

    

    MsgBox Left(variable, 4)

    

    MsgBox Right(variable, 4)

    

    MsgBox Mid(variable, 5)

    

    MsgBox Len(variable)

    

    MsgBox InStr(variable, "text")

    


End Sub


위의 코드를 간략히 설명 드리면 DoStringManupulationFuction을 실행하면 A1의 텍스트를 가져와서 variable 변수에 넣습니다. 이 변수의 값을 이용하여 Left, Right, Mid, Len, InStr 함수를 실행시키고 이에 대한 결과를 MsgBox로 보여줍니다. 


1) Left 함수 : 문자열의 왼쪽부터 자르기


Left 함수의 원형은 아래와 같습니다. Left 함수의 첫번 째 매개변수는 필수적 요소로써 자르기 위한 텍스트의 원본데이터를 넣습니다. Length는 자를 길이를 의미합니다. Left 함수는 잘라진 결과를 반환하고 있습니다. 


Public Shared Function Left (str As String, Length As Integer) As String


Left 함수를 실행한 결과는 아래와 같습니다.

This is a text for test에서 왼쪽부터 4개의 문자열을 자르므로 This라는 문자열이 출력이 됩니다.




2)  Right 함수 : 문자열의 오른쪽부터 자르기


Right함수의 원형은 아래와 같습니다. Right함수의 첫번 째 매개변수는 필수적 요소로써 자르기 위한 텍스트의 원본데이터를 넣습니다. Length는 자를 길이를 의미합니다. Right 함수는 잘라진 결과를 반환하고 있습니다. 


Public Shared Function Right (str As String, Length As Integer) As String


Right 함수를 실행한 결과는 아래와 같습니다.

This is a text for test에서 오른쪽으로부터 4개의 문자열을 자르므로 test라는 문자열이 출력이 됩니다.




3) Mid 함수 : 문자열 지정 인덱스부터 자르기


Mid 함수의 원형은 아래와 같습니다. Mid 함수의 첫번 째 매개변수는 필수적 요소로써 자르기 위한 텍스트의 원본데이터를 넣습니다. Length는 자를 길이를 의미합니다. Mid 함수는 잘라진 결과를 반환하고 있습니다. 


Public Shared Function Mid (str As String, Length As Integer) As String


Mid 함수를 실행한 결과는 아래와 같습니다.

This is a text for test에서 왼쪽에서 5번째 문자열 부터 끝까지 출력이 됩니다.





4) Len 함수 : 문자열의 길이 가져오기


Len 함수의 원형은 아래와 같습니다. Len 함수의 매개변수는 필수적 요소로써 길이를 가져올 문자열 원본데이터를 넣습니다. Len 함수는 문자열 길이를 반환합니다.


Public Shared Function Len (str As String) As Integer


Len 함수를 실행한 결과는 아래와 같습니다.

This is a text for text의 전체 길이가 출력이 됩니다.




5) InStr 함수 : 문자열 


InStr함수는 원본 데이터에 검색 문자열을 이용하여 검색이 되면 검색 위치를 반환합니다. InStr 함수의 원형은 아래와 같습니다. InStr 함수의 첫번 째 매개변수는 필수적 요소로써 텍스트의 원본데이터를 넣습니다. str2는 윈본데이터에서 검색할 . Left 함수는 잘라진 결과를 반환하고 있습니다. 


Public Shared Function InStr (str As String, str2 As String) As Integer


InStr 함수를 실행한 결과는 아래와 같습니다.

This is a text for test에서 test의 text의 위치를 반환합니다. 




이 글에서는 간단히 VBA 매크로의 문자열 관련 함수 사용법을 알아보았습니다.


이 글이 도움이 되셨나요?

그렇다면 아래의 그림을 클릭해주세요.



댓글