본문 바로가기

엑셀/VBA

VBA 내장 함수 - Left, Mid, Right 함수

반응형

이전 글에서 InputBox 함수에 대해 알아보았습니다. 이번에는 VBA 내장 함수중 Left, Mid, Right 함수에 대해 알아보겠습니다. 이 함수들은 엑셀 함수에도 동일한 함수가 있지만 VBA에서 이들 함수들이 어떻게 쓰이는지 알아보겠습니다.

 

VBA 내장 함수 - InputBox 함수

 

VBA 내장 함수 - InputBox 함수

이전 글에서 MsgBox 함수에 대해 알아보았습니다. 이번에는 InputBox 함수에 대해 알아보겠습니다. InputBox 함수는 사용자로부터 데이터를 입력받을 때 사용하는 함수입니다. 그럼 InputBox 함수의 사용

mr-johndoe.tistory.com

 

 

 

 

1. Left 함수

Left 함수는 주어진 문자열의 좌측부터 해당 개수만큼 잘라내어 반환하는 함수입니다.

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

 

   Left ( 문자열, 숫자 )

 

2. Mid 함수

Mid 함수는 주어진 문자열의 지정된 위치부터 해당 개수만큼 잘라내어 반환하는 함수입니다.

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

 

  Mid ( 문자열, 시작 위치, 숫자 )

 

3. Right 함수

Right 함수는 주어진 문자열의 우측부터 해당 개수만큼 잘라내어 반환하는 함수입니다.

Left 함수와는 반대 방향으로 이동하면서 문자열을 잘라냅니다.

 

  Right ( 문자열, 숫자 )

 

4. 예제를 통해 Left, Mid, Right 함수 사용법을 확인

 엑셀 시트 B2 셀에 '1234567890'을 입력합니다. 그리고, VBE 창을 열고 Module을 생성합니다.

Module 코드 창에 다음과 같이 코딩을 합니다.

 

   Option Explicit
   Dim i, j, k As Integer

   Public Sub 내장함수()
      i = Left(Range("B2").Value, 3)
      j = Mid(Range("B2").Value, 4, 3)
       k = Right(Range("B2").Value, 3)
    
       Range("D2").Value = i
       Range("D3").Value = j
       Range("D4").Value = k
   End Sub

 

코드를 실행하면 D2 셀에는 '123', D3 셀에는 '456', D4 셀에는 '890'이 입력되어 있는 것을 보실 수 있습니다.

 

 

 

5. 엑셀 함수와의 차이점

 VBA 내장 함수인 Left, Mid, Right 함수를 살펴보았습니다. 그런데, 엑셀의 함수와 비교했을 때 결과가 동일한 것처럼 보입니다. 하지만 VBA 내장 함수와 엑셀 함수의 다른 점이 있습니다.

다른 점을 확인하기 위해 엑셀 시트에서 C2 셀에는 '=Left(B2, 3)'을 입력하고, C3 셀에는 '=MID(B2, 4, 3)을, C4 셀에는 '=RIGHT(B2, 3)'을 입력합니다.

 

Left_Mid_Right_함수_예제_결과
[그림 1] Left, Mid, Right 함수 예제 결과

C열의 값은 엑셀 함수의 결괏값이고, D열의 값은 VBA 내장 함수의 결괏값입니다.

C열의 값은 셀의 좌측에 표시되어 있고, D열의 값은 셀의 우측에 표시되어 있는 것을 보실 수 있습니다.

이것은 C열의 값은 문자열이란 의미이고, D열의 값은 숫자라는 의미입니다.

 

즉, 엑셀 함수로 반환된 결괏값은 문자열로 반환되지만 VBA 내장 함수로 반환된 결괏값은 숫자형으로 반환되는 차이점이 있습니다. 더 정확하게 말하면 VBA 내장함수로 반환된 결과값은 Variant 데이터 형으로 입력된 값이 Integer형이므로 결괏값이 Integer형이 반환된 것입니다.

 

반응형