엑셀 VBA에서 문자열 처리 방법(Left, Right, Mid, Len, InStr)


엑셀 VBA 매크로에서 문자열 처리를 하는 경우가 자주 발생합니다.

문자열에서 왼쪽 일부분만 가져오거나 오른쪽 일부분만 가져오거나 문자열의 길이를 구하거나 문자열에서 특정 문자열이 있는 위치를 구하는 등의 작업을 해줘야 하는 경우 있습니다.

VBA에서 문자열을 효과적으로 처리하기 위해서는 앞에서 언급한 문자열에 대한 처리를 원활하게 할 줄 알아야 합니다.

이번 글에서는 엑셀 VBA에서 문자열 처리 방법(Left, Right, Mid, Len, InStr)에 대해 각각 알아보겠습니다.

엑셀 VBA 문자열 처리 프로그램 예제

▼ 아래 VBA 프로그램은 문자열을 처리하는 내장 함수에 대한 예제 입니다.

Sub 문자열_처리()
 
    Dim strVariable As String
    
    strValiable = Range(“A1”).Value
    
 
    ‘문자열 왼쪽 자르기
    MsgBox Left(strValiable, 5)
    
    ‘문자열 오른쪽 자르기
    MsgBox Right(strValiable, 6)
    
    ‘문자열 지정 인덱스부터 자르기
    MsgBox Mid(strValiable, 12)
    
    ‘문자열 길이 반환
    MsgBox Len(strValiable)
    
    ‘문자열 검색 위치 반환
    MsgBox InStr(strValiable, “to”)
    
End Sub
 

▼ 아래는 실제 VBA 화면입니다.

엑셀 VBA에서 문자열 처리 방법(Left, Right, Mid, Len, InStr)
  • VBA 프로그램을 간단히 설명 드리면 A1 셀의 텍스트를 ‘strValiable’ 이라는 변수로 가져와서 Left, Right, Mid, Len, InStr 각각의 함수를 실행시켜 결과를 MsgBox로 보여주는 예제 입니다.

Left 함수 : 문자열에서 지정한 길이만큼 왼쪽부터 자르기

Left 함수는 문자열의 왼쪽에서 지정한 길이만큼 자르기 해서 문자열을 반환해 줍니다.

  • Public Shared Function Left(Str As String, Length As Integer) As String
  • 첫 번째 매개변수 Str은 원본의 문자열이고,
  • 두 번째 매개변수 Length는 문자열을 자를 길이를 의미합니다.
  • 자른 결과는 String(문자열)로 반환합니다.

MsgBox Left(strValiable, 5) 실행 결과 합니다.

엑셀 VBA에서 문자열 처리 방법(Left)
  • 원본 문자열 “Welcome to https://gseek.pe.kr” 왼쪽에서 5개의 문자열을 잘라서 반환해 주었습니다.

Right 함수 : 문자열에서 지정한 길이만큼 오른쪽부터 자르기

Right 함수는 문자열의 오른쪽에서 지정한 길이만큼 자르기 해서 문자열을 반환해 줍니다.

  • Public Shared Function Right(Str As String, Length As Integer) As String
  • 첫 번째 매개변수 Str은 원본의 문자열이고,
  • 두 번째 매개변수 Length는 문자열을 자를 길이를 의미합니다.
  • 자른 결과는 String(문자열)로 반환합니다.

MsgBox Right(strValiable, 6) 실행 결과 합니다.

엑셀 VBA에서 문자열 처리 방법(Right)
  • 원본 문자열 “Welcome to https://gseek.pe.kr” 오른쪽에서 6개의 문자열을 잘라서 반환해 주었습니다.

Mid 함수 : 문자열에서 지정한 인덱스 위치부터 자르기

Mid 함수는 문자열의 특정 인덱스 위치부터 문자열 끝까지 자르기 해서 문자열을 반환해 줍니다.

  • Public Shared Function Mid(Str As String, Length As Integer) As String
  • 첫 번째 매개변수 Str은 원본의 문자열이고,
  • 두 번째 매개변수 Length는 문자열을 자를 인덱스 위치를 의미합니다.
  • 자른 결과는 String(문자열)로 반환합니다.

MsgBox Mid(strValiable, 12) 실행 결과 합니다.

엑셀 VBA에서 문자열 처리 방법(Mid)
  • 원본 문자열 “Welcome to https://gseek.pe.kr” 인덱스 위치 12번째부터 끝까지 문자열을 잘라서 반환해 주었습니다.

Len 함수 : 문자열의 길이를 반환

Len 함수는 문자열의 길이를 반환해 줍니다.

  • Public Shared Function Len(Str As String) As Integer
  • 매개변수 Str은 원본의 문자열 입니다.
  • 원본 문자열의 전체 길이를 정수(Integer)로 반환합니다.

MsgBox Mid(strValiable, 12) 실행 결과 합니다.

엑셀 VBA에서 문자열 처리 방법(Len)
  • 원본 문자열 “Welcome to https://gseek.pe.kr” 인덱스 위치 12번째부터 끝까지 문자열을 잘라서 반환해 주었습니다.

InStr 함수 : 문자열에서 검색할 문자가 있을 경우 해당 위치을 반환

InStr 함수는 문자열에서 검색할 문자열이 있는 경우 해당 위치의 인덱스를 반환해 줍니다.

  • Public Shared Function InStr(Str As String, Str2 As String) As Integer
  • 첫 번째 매개변수 Str은 원본의 문자열이고,
  • 두 번째 매개변수 Str2는 검색할 문자열 입니다
  • 검색할 문자열이 존재하면 해당 위치의 인덱스 번호를 반환하며, 검색 문자열이 존재하지 않으면 0을 반환합니다.

MsgBox InStr(strValiable, “to”) 실행 결과 합니다.

엑셀 VBA에서 문자열 처리 방법(InStr)
  • 원본 문자열 “Welcome to https://gseek.pe.kr”에서 “to”라는 문자열이 9번째 인덱스 위치에 있음을 반환해 주었습니다.





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


답글 남기기