티스토리 뷰


안녕하세요. 

구스입니다.


엑셀 매크로에서 문자열 다루기에 대해서 글을 올리고 있는데요.

이전 글에서는 문자열 합치기와 Left, Right 함수를 이용하여 문자열 자르기를 해보았습니다. 


이 글들을 확인하고자 하시면 아래의 링크를 확인해주세요.



이번 글에서는 Mid 함수를 이용하여 문자열 자르기를 해보도록 하겠습니다. 


먼저 Mid 함수의 원형을 살펴볼까요.


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


Mid 함수는 3개의 인자를 가지지만, 1,2번째 인자는 필수이고, 3번재 인자는 옵션입니다. 따라서 3번째 인자가 들어가지 않아도 된다는 의미이지요.


MSDN에 올라와있는 문자열 자르기 Mid 함수의 정보는 아래와 같습니다. 



위의 글을 확인하면, str과 start는 필수 요소이고, Length는 선택적 요소입니다. 

str은 잘라낼 문자열, start는 str의 시작 지점을, legnth는 시작 지점부터 몇개의 Character를 가져올 것인지에 대한 설정 값입니다.


예를 하나들어볼까요.


"ABCDEFG"라는 문자열이 있다고 가정을 합시다.

여기에서 C부터 3개의 이어지는 값을 가져오고 싶다고 한다면, Mid("ABCDEFG", 3, 3)이라고 사용할 수 있겠죠.


그 이유는 C가 3번째에 있는 값이죠. A가 1, B가2, C가 3입니다.

그리고 C부터 3개의 값을 가져오고자 한다면 마지막 값에 3을 넣으면 되죠.


따라서 Mid("ABCDEFG", 3, 3)가 되는 것입니다.


그럼 코드를 한번 구현해 볼까요.


Sub String1()


    Dim str1 As String

    

    str1 = "ABCDEFGHIJK"

    ' str1은 총 10개의 character를 가지는 문자열

    ' 따라서 길이는 10

    

    MsgBox (Mid(str1, 3, 5))

    

End Sub


"ABCDEFGHIJK"라는 문자열 중 C부터 5개의 값을 가져오도록 구현하였습니다.

아래와 같이 구현을 하구요.



실행을 해봅니다.

그럼 CDEFG라는 문자열이 나오는 것을 확인할 수 있습니다. C부터 5개의 값이 나오네요.



이 글에서는 Mid 함수를 이용하여 엑셀 VBA 문자열 자르기 기능을 구현해보았습니다.

그럼 이만 줄이겠습니다.


이 글이 도움이 되셨으면, 아래의 하트를 눌러주세요.

댓글